运行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. 退出环境
    输入命令:quit或Ctrl+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()}") 
相关推荐
freejackman1 天前
【架构篇】双遍历 + 多栈协同:手撸 SQL 血缘引擎的架构思考
java·大数据·数据库·hive·sql·架构·spark
陈年老古董1 天前
Spark 3.1.3 集群搭建 + Spark-SQL 整合 Hive 记录
hive·sql·spark
乌恩大侠2 天前
「AI-RAN」Aerial,使用ORAN C1模式
人工智能·5g·spark·o-ru·ai-ran
测试盐2 天前
spark作业日志定位过程
java·hadoop·spark
IT研究室2 天前
最新大数据毕业设计选题推荐-基于大数据的Kaggle竞赛团队协作模式与效能可视化分析-大数据-Spark-Hadoop-Bigdata
大数据·spark·课程设计
棣廷4 天前
初识Spark Core
大数据·分布式·spark
磁场转动100万匹7 天前
Spark Core 核心原理:从 RDD 到分布式计算
大数据·分布式·spark
ha_lydms9 天前
AnalyticDB MySQL 技术架构
大数据·hadoop·mysql·adb·spark·dataworks·1024程序员节
红海云9 天前
两台DGX Spark部署DeepSeek的实战边界
大数据·分布式·spark
爱吃火鸡面呀11 天前
PySpark 入门实战:从 DataFrame 到 SQL、DSL 与窗口函数
分布式·spark