上QQ阅读APP看书,第一时间看更新
1.6 使用Spark Shell开发运行Spark程序
Spark Shell是一种学习API的简单途径,也是分析数据集交互的有力工具。
虽然本章还没涉及Spark的具体技术细节,但从总体上说,Spark弹性数据集RDD有两种创建方式:
❑ 从文件系统输入(如HDFS)。
❑ 从已存在的RDD转换得到新的RDD。
现在我们从RDD入手,利用Spark Shell简单演示如何书写并运行Spark程序。下面以word count这个经典例子来说明。
1)启动spark shell: cd进SPARK_HOME/bin,执行命令。
./spark-shell
2)进入scala命令行,执行如下命令:
scala> val file = sc.textFile("hdfs://localhost:50040/hellosparkshell") scala> val count = file.flatMap(line => line.split(" ")).map(word => (word, 1)). reduceByKey(_+_) scala> count.collect()
首先从本机上读取文件hellosparkshell,然后解析该文件,最后统计单词及其数量并输出如下:
15/09/29 16:11:46 INFO spark.SparkContext: Job finished: collect at <console>:17, took 1.624248037 s res5: Array[(String, Int)] = Array((hello,12), (spark,12), (shell,12), (this,1), (is,1), (chapter,1), (three,1)