spark说明手册阅读笔记
来源:互联网 发布:php技术论坛 编辑:程序博客网 时间:2024/06/07 06:18
Use method to avoid creatingintermediate variables:
即把程序写成下列形式:
Sc.textfile().map().reduceBykey()
这样就不需要储存如map()返回值这样的中间向量。
transformation属于惰性方法,对于一个使用了transformation的RDD,只有当接下来要用这个被transformation处理过的RDD来进行action时,才能真正调用这个transformation操作
对于sparkRDD的三种聚合操作:
reduceByKey:仅仅只按照键值进行简单的加法
foldByKey:除了把相同键值的相加,还要加上一个初始值
aggregateByKey:把键值和对应数值聚合成一个集合
对于传统的mapreduce,由于每一次迭代都相当于一个独立的mapreducejob,所以每次迭代的结果都要被写回到硬盘。而对于spark,由于有跨集群的缓存,因此读取速度更快。
Spark的大致工作流程:
当一个RDD上触发了一次action操作,则SparkContext上的runJob函数被调用。该函数会将对应的SC提交到scheduler上,首先经过DAGscheduler,把本次工作划分为一个有向无环图,然后taskscheduler按照该有向无环图,把每一步的任务提交到集群上。对于taskscheduler,具体步骤是这样的:当它接收到一系列任务时,把这些任务根据优先度分配给各个处理器。一个处理器执行任务的流程如下:首先确认JAR和文件依赖,然后为所有需要用到之前处理器的文件依赖建立一个本地缓存,只有当这些依赖改变的时候,才需要从对应的处理器下载。然后解码并执行任务代码。
如何管理各个处理器:
本地模式:只有一个处理器,并和驱动一起运行在相同的JVM上。适合于小型的项目。
Standalone模式:由一个master和多个worker组成,当一项作业输入后,master会让workers唤起各自的executor来处理这一项作业。
Mesos模式:一个广义上的集群资源管理器。以此能在不同程序之间共享资源。
YARN模式:hadoop的资源管理器。每个spark程序都有与之对应的yarn程序,每个处理器也有与之对应的yarn容器。
Mesos和Yarn集群管理器要优于standalone管理器。前两者会考虑到集群上运行的其他程序,而standalone只能使用集群分配的固定资源。
阅读全文
0 0
- spark说明手册阅读笔记
- info手册阅读笔记
- spark 阅读 笔记
- Spark源码阅读笔记:Spark的Task
- Spark源码阅读笔记:TaskScheduler
- Spark源码阅读笔记:DAGScheduler
- spark RDD 源码阅读笔记
- MAX手册阅读笔记(未整理)
- itk手册中的配准阅读笔记
- INTEL手册中,APIC部分阅读笔记
- 《python学习手册》阅读笔记5.1-5.14
- 《阿里巴巴Java开发手册》阅读笔记
- Spark源码阅读笔记:DriverProgram初始化
- spark大数据处理技术--阅读笔记
- Spark源码阅读笔记之BlockStore
- Spark源码阅读笔记之MemoryStore
- Spark源码阅读笔记之DiskStore
- Spark源码阅读笔记之BlockObjectWriter
- 斯坦福机器学习公开课--整理笔记(…
- (leetcode)数位反转
- 分块索引(查找)
- leetcode:atoi(含去除首空格与字…
- leetcode:最大容器问题
- spark说明手册阅读笔记
- spark论文阅读笔记(一)
- spark论文阅读笔记(二)
- spark论文阅读笔记(三)
- leetcode:字符排列组合
- Nginx基本配置(PHP)
- 用JS写的一个简单的导航栏
- leetcode:4sum以及快慢指针
- SparkInternal阅读笔记(一)