天天看点

《循序渐进学Spark》一1.6 使用Spark Shell开发运行Spark程序

本节书摘来自华章出版社《循序渐进学spark》一书中的第1章,第1.6节,作者 小象学院 杨 磊,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

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")

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)

继续阅读