运行Spark程序-在shell中运行

Spark Shell运行程序步骤

  1. 启动Spark Shell
    根据语言选择启动命令:
  • Scala版本(默认):执行spark-shell
  • Python版本:执行pyspark
  1. 数据加载示例
    读取本地文本文件:
scala 复制代码
// Scala版本
val textData = sc.textFile("file:///path/to/file.txt")

// Python版本
text_data = sc.textFile("file:///path/to/file.txt")
  1. 执行数据处理
    实现词频统计(两种语言示例):
scala 复制代码
// Scala版本
val wordCounts = textData
  .flatMap(_.split(" "))
  .map(word => (word, 1))
  .reduceByKey(_ + _)
  
wordCounts.collect().foreach(println)
python 复制代码
# Python版本
word_counts = text_data \
    .flatMap(lambda line: line.split(" ")) \
    .map(lambda word: (word, 1)) \
    .reduceByKey(lambda a,b: a+b)

word_counts.collect()
  1. 结果输出
    保存到HDFS(两种语言通用):
scala 复制代码
wordCounts.saveAsTextFile("hdfs:///output/path")
  1. 退出环境
    输入命令:quitCtrl+D

注意事项

  1. 路径说明
  • 本地文件需加file://前缀
  • 集群文件使用hdfs://协议头
  1. 执行触发

    转换操作(如map/filter)需要执行动作(如collect/count)才会触发计算

  2. 配置调优

    启动时可添加参数:

bash 复制代码
spark-shell --master yarn --executor-memory 4g
  1. 日志控制
    在Shell中调整日志级别:
scala 复制代码
sc.setLogLevel("WARN")

验证示例

在Shell中运行快速验证:

scala 复制代码
// 创建测试RDD
val nums = sc.parallelize(1 to 100)
println(s"数据总量:${nums.count()}") 
相关推荐
weixin_553654482 天前
如何看待 2026 年 Google I/O 大会发布的 Gemini Spark?
大数据·人工智能·分布式·spark
您^_^3 天前
专家(二):Claude Code 数据工程实战:dbt + Airflow + Spark 全流程,$0.22 搭完电商分析管道
大数据·分布式·spark·claudecode·claude code全栈
zhojiew4 天前
在EMR集群中使用Spark MCP服务构建Strands Agent进行故障排查的实践
大数据·spark
大江东去浪淘尽千古风流人物5 天前
【SANA-WM】分钟级世界模型:混合线性扩散Transformer与双分支相机控制深度解析
人工智能·深度学习·架构·spark·机器人·transformer·wm
蓝眸少年CY5 天前
Spark - Code 核心教程
大数据·分布式·spark
随缘而动,随遇而安7 天前
第九十八篇 工程落地视角:Session/Cookie/Token 原理辨析与大数据实战
大数据·spark·token·cookie·session
霑潇雨8 天前
Spark学习基础转换算子案例(单词计数(WordCount))
java·大数据·分布式·学习·spark·maven
zhojiew8 天前
使用 Spark Connect 在 Amazon EMR on EC2 上实现远程 Spark开发
大数据·分布式·spark
大江东去浪淘尽千古风流人物8 天前
【Kimera】MIT SPARK 实时度量-语义 SLAM 全栈解析:VIO + 鲁棒 PGO + 语义网格四模块架构与 EuRoC 实测深度剖析
大数据·架构·spark
大江东去浪淘尽千古风流人物8 天前
【Kimera-VIO】MIT SPARK 实时度量-语义 VIO/SLAM:六模块并行架构与智能因子图优化深度解析
大数据·架构·spark