Spark入门:RDD详解与SparkShell使用
40 浏览量
更新于2024-08-30
收藏 128KB PDF 举报
“Spark学习-day1,讲解Spark RDD和Spark Shell的使用,以及Spark与Hadoop的关系,探讨数据处理和内存管理。提供了Spark应用的基本架构和RDD的概念,还提及了在IDEA中配置Spark项目的步骤。”
在Spark的学习旅程中,第一天通常会涉及到Spark的基础知识,特别是RDD(Resilient Distributed Dataset)和Spark Shell的使用。RDD是Spark的核心数据抽象,它是一个不可变、分区的元素集合,能够在集群中进行并行操作。RDD可以从Hadoop文件系统或其他Hadoop支持的文件系统中读取数据,或者从现有Scala集合中创建。
Spark Shell是用于交互式测试和调试Spark程序的工具,通过命令行界面提供Spark的功能。例如,可以使用以下两种方式启动Spark Shell:
1. 通过YARN管理资源,使用`--master yarn`,在客户端模式下运行,指定`--deploy-mode client`,设置执行器核心数为4,执行器数量为3,命令如下:
```
./bin/spark-shell --master yarn --deploy-mode client --executor-cores 4 --num-executors 3
```
2. 在Spark Standalone集群上运行,指定`--master spark://zly:7077`,设置总执行器核心数为6,命令如下:
```
./bin/spark-shell --master spark://zly:7077 --total-executor-cores 6
```
Spark与Apache Hadoop之间的关系密切,Spark设计为与Hadoop数据兼容,可以在Hadoop集群中运行,通过YARN或Spark Standalone模式。Spark不仅支持批处理,类似于MapReduce,还提供了流计算、Spark SQL(用于交互式查询)和机器学习库MLlib等功能,以满足更广泛的计算需求。
关于数据处理,Spark并不强制所有数据必须完全放入内存。当数据量超过内存时,Spark会自动将数据溢写到磁盘,这得益于其弹性特性。用户还可以通过设置RDD的存储级别来控制数据的缓存策略,如选择内存、磁盘或两者混合。如果内存不足,RDD能够从磁盘中恢复,确保容错性。
在开发环境中,如IDEA,构建Spark应用通常需要添加Spark和Hadoop的相关依赖,例如:
- Spark Core(对应Scala版本2.11):`org.apache.spark:spark-core_2.11:2.4.5`
- Hadoop Client:`org.apache.hadoop:hadoop-client:2.9.2`
完成依赖配置后,就可以在IDEA中编写Spark驱动程序,并将其远程部署到Spark集群上运行。
总结来说,Spark的学习涵盖了基本概念、数据处理机制、Shell使用以及集群配置等多个方面,为后续深入学习Spark的编程模型和高级特性奠定了基础。
2022-04-10 上传
2019-08-28 上传
2021-09-10 上传
2021-05-15 上传
2022-04-30 上传
2022-04-30 上传
2021-01-07 上传
2022-06-01 上传
2023-09-04 上传
weixin_38748555
- 粉丝: 6
- 资源: 933
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录