Spark Shell运行程序步骤
- 启动Spark Shell
根据语言选择启动命令:
- Scala版本(默认):执行
spark-shell
- Python版本:执行
pyspark
- 数据加载示例
读取本地文本文件:
// Scala版本
val textData = sc.textFile("file:///path/to/file.txt")// Python版本
text_data = sc.textFile("file:///path/to/file.txt")
- 执行数据处理
实现词频统计(两种语言示例):
// Scala版本
val wordCounts = textData.flatMap(_.split(" ")).map(word => (word, 1)).reduceByKey(_ + _)wordCounts.collect().foreach(println)
# Python版本
word_counts = text_data \.flatMap(lambda line: line.split(" ")) \.map(lambda word: (word, 1)) \.reduceByKey(lambda a,b: a+b)word_counts.collect()
- 结果输出
保存到HDFS(两种语言通用):
wordCounts.saveAsTextFile("hdfs:///output/path")
- 退出环境
输入命令:quit
或Ctrl+D
注意事项
- 路径说明
- 本地文件需加
file://
前缀 - 集群文件使用
hdfs://
协议头
-
执行触发
转换操作(如map/filter)需要执行动作(如collect/count)才会触发计算 -
配置调优
启动时可添加参数:
spark-shell --master yarn --executor-memory 4g
- 日志控制
在Shell中调整日志级别:
sc.setLogLevel("WARN")
验证示例
在Shell中运行快速验证:
// 创建测试RDD
val nums = sc.parallelize(1 to 100)
println(s"数据总量:${nums.count()}")