Spark提供了两种方式编程方式:
spark-shell
是一个基于Scala语言的交互式解释器,类似于 Scala 提供的交互式解释器, 可以在此直接编写Scala执行。
spark-submit
Spark submit是一个命令, 用于提交 Scala 编写的基于 Spark 框架, 这种方式可以支撑在开发工具中开发玩Scala代码之后,在集群中运行任务。
下面我们准备Spark Shell词频统计编程的单词文件,放在D://test/words.txt
apple orange pear banana lemon apple pear peach orange
在CMD中打开Spark Shell,输入以下代码:
读取文件,注意是file:后是三个斜杠,如果是读取hdfs里面则是hdfs://
val rdd1=sc.textFile("file:///d:/test/words.txt")
将单词根据空格分隔,并放到一个容器中
val rdd2=rdd1.flatMap(item=>item.split(" "))
跟容器中的单词赋予词频计数1
val rdd3=rdd2.map(item=>(item,1))
对容器中的元素,以单词为key进行技术的相加聚合
val rdd4=rdd3.reduceByKey((curr,agg)=>curr+agg)
数据展示
rdd4.collect()
结果:
要使用Spark编程,需要提前掌握Scala语言。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)