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

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

1、断点调试

9193428-405eca30b1746cd2.png

尖叫提示:如果本机操作系统是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、解压
9193428-157620df83794a3c.png
3、配置Run Configuration 添加HADOOP_HOME

(1)Run -> Edit Configurations ...

9193428-ed5b655e5465b411.png

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

9193428-49774b6daf9281bf.png

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()

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值