Spark常⽤算⼦详解(转换算⼦、⾏动算⼦、控制算⼦)
Spark简介
Spark是专为⼤规模数据处理⽽设计的快速通⽤的计算引擎;
Spark拥有Hadoop MapReduce所具有的优点,但是运⾏速度却⽐MapReduce有很⼤的提升,特别是在数据挖掘、机器学习等需要迭代的领域可提升100x倍的速度:
感谢团队1. Spark是基于内存进⾏数据处理的,MapReduce是基于磁盘进⾏数据处理的;
2. Spark中具有DAG有向⽆环图,DAG有向⽆环图在此过程中减少了shuffle以及落地磁盘的次数;
Spark流程
1. Spark Application的运⾏环境:创建SparkConf对象
可以设置Application name;
在哪里英语怎么说
可以设置运⾏模式及资源需求;
2. 创建SparkContext对象;
网名好听
SparkContext向资源管理器申请运⾏Executor资源,并启动StandaloneExecutorbackend;老子思想主张
Executor向SparkContext申请Task;
SparkContext将程序分发给Executor;
SparkContext构建成DAG图,将DAG图分解成Stage、将Taskt发送给Task Scheduler,最后由Task Scheduler将Task发送给Executor运⾏;
Task在Excutor上运⾏,运⾏完释放所有的资源;黄山路线图
3. 基于Spark的上下⽂创建⼀个RDD,对RDD进⾏处理;
4. 应⽤程序中y有Action累算⼦来触发Transformation类算⼦执⾏;
5. 关闭Spark上下⽂对象SparkContext;
value 类型
细类型算⼦
陈宝莲遗书输⼊分区与输出分区⼀对⼀型map flatMap mapPartitions glom
输⼊分区与输出分区多对⼀型union cartesain
输⼊分区与输出分区多对多型groupBy
输出分区为输⼊分区⼦集型filter distinct substract sample takeSample
微信名片怎么设置>位置关系Cache型cache persist
key-value类型
细类型算⼦
输⼊分区与输出分区⼀对⼀mapValues