黑猴子的家:Spark 在 IDEA 中本地调试 WordCount 程序

本地Spark程序调试需要使用local提交模式,即将本机当做运行环境,Master和Worker都为本机,运行时直接加断点调试即可。

1、断点调试


尖叫提示:如果本机操作系统是windows,如果在程序中使用了hadoop相关的东西,比如写入文件到HDFS,则会遇到异常 “Java.io.IOException:Could not locate executable null\bin\winutils.exe in the Hadoop binaries”,出现这个问题的原因,并不是程序的错误,而是用到了hadoop相关的服务,解决办法是将附加里面的hadoop-common-bin-2.7.3-x64.zip解压到任意目录,在IDEA中配置Run Configuration,添加HADOOP_HOME变量

2、解压

3、配置Run Configuration 添加HADOOP_HOME

(1)Run -> Edit Configurations ...

(2)Environment Variables -> + -> HADOOP_HOME -> ok

4、编写程序

package com.victor.spark

import org.apache.spark.{SparkConf, SparkContext}

object Application extends App{
  
  // 1、 声明一个spark conf 对象,用于配置spark连接
  val sparkconf = new SparkConf().setAppName("wordcount").setMaster("local[*]")

  // 2、创建一个spark context 用于连接spark 集群
  val sparkContext = new SparkContext(sparkconf)

  // 3、加载需要处理的数据文件
  val textfile = sparkContext.textFile("hdfs://hadoop102:9000/README")

  // 4、处理数据
  val result = textfile.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_)

  // 5、输出数据文件的结果
  result.saveAsTextFile("hdfs://hadoop102:9000/out")
  //result.collect().foreach(println _)

  // 6、关闭spark集群的连接
  sparkContext.stop()

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容