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

本文介绍如何在IDEA中通过配置环境变量模拟Hadoop环境,提高Spark程序开发效率。使用winutils.exe工具,并展示了如何设置hadoop_home环境变量及具体编程实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

下面说下具体使用;

下载地址:

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

 

具体应用举例操作如下:

代码入下:

package com.imooc

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

/*
* Description
*@author Ruimeng
*@Date 2019/3/18 10:53
 */ object ScalaWordCount {
  def main(args: Array[String]): Unit = {

    System.setProperty("hadoop.home.dir", "D:\\hadoop-2.6.0")
    //创建spark配置文件,设置应用程序名字
    val conf= new SparkConf().setAppName("ScalaWordCount").setMaster("local[4]")
    //创建spark执行入口
    val sc =new  SparkContext(conf)
    //指定从哪里读取数据,创建RDD
     val lines:RDD[String]=sc.textFile(args(0))   //每一行的内容
    //对每一行进行切割得到单词,用空格切
    val words:RDD[String]= lines.flatMap(_.split(" "))
//将每个单词和1组合,形成map元组
    val wordAndOne:RDD[(String,Int)]=words.map((_,1))
//按key进行聚合
    val reduced:RDD[(String,Int)] = wordAndOne.reduceByKey(_+_)
//排序
    val sorted:RDD[(String,Int)] = reduced.sortBy(_._2,false)
//将结果输出到hdfs中
    sorted.saveAsTextFile(args(1))
//释放资源
    sc.stop()

  }

}

 

指定输入参数:

 

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

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

 

 

—— 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值