当前位置:   article > 正文

使用winutils.exe,在windows开发环境下,调试下调试hadoop、spark程序

winutils.exe

在使用idea开发,spark程序时,需要在开发环境模拟hadoop环境,不然,每次都要打jar去集群环境执行调试程序,严重影响开发效率。

winutils.exe是在Windows系统上需要的hadoop调试环境工具,里面包含一些在Windows系统下调试hadoop、spark所需要的基本的工具类,

下面说下具体使用;

下载地址:

https://download.csdn.net/download/software_0215/10690839

下载后,需要配置环境变量;

下载解压后,如下:bin目录下,应该有这个winutils.exe

然后,去配置环境变量,注意,这里的环境变量,不需要配到bin目录,因为spark,会自动读取到hadoop_home,然后加上bin 

如下:hadoop_home环境变量。

注意:

idea 需要重启电脑才能识别新增的环境变量,

 

或者,在程序的开始,加上一句:

System.setProperty("hadoop.home.dir", "D:\\hadoop-2.6.0")
  1. */ object ScalaWordCount {
  2. def main(args: Array[String]): Unit = {
  3. //指定winutils目录,window下hadoop home目录
  4. System.setProperty("hadoop.home.dir", "D:\\hadoop-2.6.0")
  5. //创建spark配置文件,设置应用程序名字,以及开启线程数量
  6. val conf= new SparkConf().setAppName("ScalaWordCount").setMaster("local[4]")
  7. //创建spark执行入口
  8. val sc =new SparkContext(conf)
  9. //指定从哪里读取数据,创建RDD
  10. val lines:RDD[String]=sc.textFile(args(0)) //每一行的内容
  11. 。。。。。。。。。。。

 

具体应用举例操作如下:

代码入下:

  1. package com.imooc
  2. import org.apache.spark.rdd.RDD
  3. import org.apache.spark.{SparkConf, SparkContext}
  4. /*
  5. * Description
  6. *@author Ruimeng
  7. *@Date 2019/3/18 10:53
  8. */ object ScalaWordCount {
  9. def main(args: Array[String]): Unit = {
  10. System.setProperty("hadoop.home.dir", "D:\\hadoop-2.6.0")
  11. //创建spark配置文件,设置应用程序名字
  12. val conf= new SparkConf().setAppName("ScalaWordCount").setMaster("local[4]")
  13. //创建spark执行入口
  14. val sc =new SparkContext(conf)
  15. //指定从哪里读取数据,创建RDD
  16. val lines:RDD[String]=sc.textFile(args(0)) //每一行的内容
  17. //对每一行进行切割得到单词,用空格切
  18. val words:RDD[String]= lines.flatMap(_.split(" "))
  19. //将每个单词和1组合,形成map元组
  20. val wordAndOne:RDD[(String,Int)]=words.map((_,1))
  21. //key进行聚合
  22. val reduced:RDD[(String,Int)] = wordAndOne.reduceByKey(_+_)
  23. //排序
  24. val sorted:RDD[(String,Int)] = reduced.sortBy(_._2,false)
  25. //将结果输出到hdfs中
  26. sorted.saveAsTextFile(args(1))
  27. //释放资源
  28. sc.stop()
  29. }
  30. }

 

指定输入参数:

 

这样说,在E://hadoop//input下的文件即为模拟的输入文件路径,E://hadoop//output即为输出文件路径

运行程序完成后,生产如下文件:

 

 

—— 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/805332
推荐阅读
相关标签
  

闽ICP备14008679号