Spark Shell编写第一个代码

Spark Shell编写第一个代码

学习Spark程序开发,首先通过spark-shell交互式学习,加深Spark程序开发的理解。

尝试Spark Shell 的基本使用。Spark shell 提供了简单的方式来学习API,也提供了交互的方式来分析数据。

Spark Shell 支持 Scala 和 Python,选择使用 Scala结合对文件的简单操作来进行介绍。

(1)启动Hadoop、Spark Shell。注意start-all.sh和spark-shell文件的路径

Spark Shell编写第一个代码

Spark Shell编写第一个代码

(2)加载text文件,并执行简单RDD操作。

Spark Shell在启动时自动创建sc,可以加载本地文件和HDFS文件创建RDD。这里用Spark自带的本地文件README.md文件测试。

Spark Shell编写第一个代码

 

注:加载HDFS文件和本地文件都是使用textFile,区别是添加前缀(hdfs://file://)进行标识

 

简单RDD操作如

//获取RDD文件textFile的第一行内容

lines.first()

//获取RDD文件textFile所有项的计数

lines.count()

//抽取含有“Spark”的行,返回一个新的RDD

val lineWithSpark = lines.filter(line =>line.contains("Spark"))

//统计新的RDD的行数

lineWithSpark.count()

//找出文本中每行的最多单词数

lines.map(line => line.split(" ").size).reduce((a,b) => if (a > b) a else b)

Spark Shell编写第一个代码