当前位置: 首页 > news >正文

运行Spark程序-在shell中运行

Spark Shell运行程序步骤

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

  1. 执行数据处理
    实现词频统计(两种语言示例):
// 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()

  1. 结果输出
    保存到HDFS(两种语言通用):
wordCounts.saveAsTextFile("hdfs:///output/path")

  1. 退出环境
    输入命令:quitCtrl+D

注意事项

  1. 路径说明
  • 本地文件需加file://前缀
  • 集群文件使用hdfs://协议头
  1. 执行触发
    转换操作(如map/filter)需要执行动作(如collect/count)才会触发计算

  2. 配置调优
    启动时可添加参数:

spark-shell --master yarn --executor-memory 4g

  1. 日志控制
    在Shell中调整日志级别:
sc.setLogLevel("WARN")

验证示例

在Shell中运行快速验证:

// 创建测试RDD
val nums = sc.parallelize(1 to 100)
println(s"数据总量:${nums.count()}") 

相关文章:

  • 【Ubuntu】neovim Lazyvim安装与卸载
  • 网络状态可以通过hutool.HttpStatus获取
  • 讯联云库项目开发日志(一)
  • 3.2 一点一世界
  • 嵌入式学习笔记 - HAL_ADC_ConfigChannel函数解析
  • 出于PCB设计层面考虑,连排半孔需要注意哪些事项?
  • 构建媲美 ChatGPT 的 AI 交互界面—OpenWebUI
  • Flannel UDP 模式的优缺点
  • WebRTC技术EasyRTC嵌入式音视频通信SDK打造远程实时视频通话监控巡检解决方案
  • JPG与PDF格式转换器
  • 06 mysql之DML
  • R-tree详解
  • 2025年第十六届蓝桥杯大赛软件赛C/C++大学B组题解
  • C++设计模式——单例模式
  • SpringBoot 3.X 开发自己的 Spring Boot Starter 和 SpringBoot 2.x 的区别
  • Python查询ES错误ApiError(406, ‘Content-Type ...is not supported
  • 【传感器多模态融合与AI驱动】
  • Leetcode 3548. Equal Sum Grid Partition II
  • 常见网卡接口命名方式
  • OpenAI for Countries:全球AI基础设施的“技术基建革命”
  • 福州千余公共道路泊车位装“智能地锁”续:运营公司被责令改正并罚款
  • 第1现场 | 印巴停火次日:当地民众逐渐恢复正常生活
  • 撤制镇如何突破困境?欢迎订阅《澎湃城市报告》第23期
  • 政策一视同仁引导绿色转型,企业战略回应整齐划一?
  • 默茨首访聚焦欧洲,欲推欧洲防务自主
  • 黄土是他们的气质:打破宁夏当代油画创作的沉寂