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文件的路径
(2)加载text文件,并执行简单RDD操作。
Spark Shell在启动时自动创建sc,可以加载本地文件和HDFS文件创建RDD。这里用Spark自带的本地文件README.md文件测试。
注:加载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)