运行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()}") 
相关推荐
B站计算机毕业设计之家17 小时前
大数据:基于python唯品会商品数据可视化分析系统 Flask框架 requests爬虫 Echarts可视化 数据清洗 大数据技术(源码+文档)✅
大数据·爬虫·python·信息可视化·spark·flask·唯品会
沧海寄馀生17 小时前
Apache Hadoop生态组件部署分享-Spark
大数据·hadoop·分布式·spark·apache
yumgpkpm18 小时前
接入Impala、Hive 的AI平台、开源大模型的国内厂商(星环、Doris、智谱AI、Qwen、DeepSeek、 腾讯混元、百川智能)
人工智能·hive·hadoop·zookeeper·spark·开源·hbase
鹿衔`1 天前
CDH 6.3.2 集群外挂部署 Spark 3.5.7 连接 Paimon 1.1.1 (二)
大数据·分布式·spark
嘉禾望岗5032 天前
spark计算框架与RDD特性介绍
大数据·分布式·spark
智海观潮2 天前
SparkSQL真的不支持存储NullType类型数据到Parquet吗?
大数据·spark
灯下夜无眠2 天前
spark集群文件分发问题
大数据·分布式·spark
Thomas21433 天前
pyspark3.5给paimon1.2的表打tag报错 spark_catalog is not a ProcedureCatalog
大数据·分布式·spark
路边草随风3 天前
使用SparkLauncher发布k8s作业
云原生·容器·spark·kubernetes
士心凡3 天前
数据仓库教程
大数据·数据仓库·spark