学习spark过程中的一些个人总结

本文详细介绍了Apache Spark的学习心得,包括其速度、易用性、通用性和兼容性的特点。深入讲解了Spark的启动流程、任务提交流程以及核心组件RDD的特点、分区和算子。此外,对比了RDD、DataFrame和DataSet的异同,强调了DataFrame的优化和性能提升,以及Dataset的强类型和编译时检查。最后讨论了如何选择合适的API以及Spark的优化策略。
摘要由CSDN通过智能技术生成

spark是一个与Hadoop数据兼容的快速通用处理引擎。

它可以通过集群或spark的独立模式在Hadoop集群中运行特点:
1、速度快:ApacheSPark使用最新的DAG调度程序、查询优化器和物理执行引擎(基于内存处理数据),实现了批处理和流数据的高性能
2、易用性:Spark支持Java、Python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同的应用。
3、通性用:Spark提供了统一的解决方案。Spark可以用于批处理、交互式查询(Spark SQL)、实时流处理(Spark Streaming)、机器学习(Spark MLlib)和图计算(GraphX)
4、兼容性:Spark可以非常方便地与其他的开源产品进行融合

启动流程:
1、启动master进程
2、Master开始解析conf目录的slaves配置文件,找到相应的Worker节点
3、开始启动Worker进程
4、worker向master发送注册信息(id,cpu,内存,核数等)
5、Master接受到Worker的注册信息后并保 存到内存和磁盘里,然后向Worker发送注册成功信息
6、worker周期性地向master发送心跳,Master更新worker的最后一次心跳时间
7、master删除超时的worker信息

任务提交流程完整流程:
1、Driver端首先启动SparkSubmit进程,启动后开始与Master进行通信,此时创建了一个非常重要的对象(SparkContext),接着向Master发送任务信息
2、Master接收到任务信息后,开始资源调度,此时会和所有的Worker进行通信。找到比较空闲的Worker,并通知Worker来取任务和启动相应的Excecutor
3、Executor启动后,开始与Driver进行反向注册,接下来Driver开始把任务发送给相应的Executor,Executor开始计算任务

RDD

RDD:resilient Distributed Dataset 弹性分布式数据集

RDD特点:自动容错,位置感知调度和可伸缩,并行处理

产生方式:
a、文件系统中加入
b、已有的scala集合
c、从RDD=>RDD
(RDD只支持粗粒度变换,即只记录单个块上执行的单个操作,然后创建某个RDD的变换序列存储下来,这个变换序列就是RDD的血统)

五大属性(也称数据结构):
是一个分区链表;有函数对其进行分区;
每个RDD都有依赖;
hash分区;
最优位置

内容 :
1、源数据切分后的数据块,源代码中的split变量
2、关于血统的信息,源码中的dependency变量
3、一个计算函数(一个rdd如何通过父rdd得到)
4、一些关于如何分块和数据存放的元信息

分区

为什么分区?
为了并行处理分析࿰

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZJ_2459

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值