idea写java spark程序,Spark : 在IDEA中用scala编写Spark的WordCount程序并提交运行

该博客详细介绍了如何在IDEA中创建一个Maven工程,添加Scala和Spark依赖,实现WordCount程序。程序读取HDFS上的数据,通过Spark进行单词统计,并将结果保存回HDFS。最后,通过spark-submit命令提交并执行任务。
摘要由CSDN通过智能技术生成

使用IDEA新建maven工程,添加相关依赖:

1.8

1.8

2.11.11

2.3.0

2.7.7

utf-8

org.scala-lang

scala-library

${scala.version}

org.apache.spark

spark-core_2.11

${spark.version}

org.apache.hadoop

hadoop-client

2.7.7

给项目添加scala支持,新建Scala Object文件

编写程序:

import org.apache.spark.rdd.RDD

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

object WordCountDemo {

def main(args: Array[String]): Unit = {

//创建Spark配置对象SparkConf,设置应用程序名字

val conf = new SparkConf().setAppName("WordCountDemo")

//创建spark执行入口

val sc = new SparkContext(conf)

//指定以后从哪里读取数据创建RDD(弹性分布式数据集)

val lines: RDD[String] = sc.textFile(args(0))

//切分压平

val words: RDD[String] = lines.flatMap(_.split(" "))

//将单词和1组合

val wordAndOne: RDD[(String, Int)] = words.map((_, 1))

//按key进行聚合

val reduced: RDD[(String, Int)] = wordAndOne.reduceByKey(_+_)

//按value进行排序

val sorted: RDD[(String, Int)] = reduced.sortBy(_._2, false)

//将结果保存到hdfs中

sorted.saveAsTextFile(args(1))

//释放资源

sc.stop()

}

}

执行maven的打包命令

将打包上传至服务器

开启hdfs和spark,将输入文本上传至hdfs

执行任务:

/soft/spark/bin/spark-submit --class com.wby.demo.WordCountDemo /root/jars/spark-1.0-SNAPSHOT.jar hdfs://192.168.124.132:9000/test/w hdfs://192.168.124.132:9000/test/res

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值