《循序渐进学Spark》一1.6 使用Spark Shell开发运行Spark程序-阿里云开发者社区

开发者社区> 华章出版社> 正文

《循序渐进学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")

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)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

华章出版社

官方博客
官网链接