Saprk总结

Saprk总结,第1张

Saprk总结

文章目录

前言1. Spark core2. Spark sql3. Spark streaming

前言

为什么要学习Spark?
1. Spark比MapReduce快

spark可以将数据缓存在内存中进行计算 (cache)spark是粗粒度资源调度,MR是细粒度资源调度DAG有向无环图 (spark两个shuffle中间结果不需要落地,MR需要数据落地)

2. Spark简单

1. Spark core
    spark比MR快的三个原因RDD五大特性:

RDD由一组分区组成,默认一个block对应一个分区算子实际上是作用在每一个分区上的,每一个分区都会由一个task处理RDD之间有一系列的依赖关系,宽依赖和窄依赖,宽窄依赖用于切分stage, stage是一组可以并行计算的task分区类的算子只能作用在KV格式的RDD上,reducebyKey、groupBykey、sortBykeyspark为task的执行提供了最佳计算位置,移动计算而不是移动数据

    常用算子

map mapPartition mapValuesflatMapfilterunionjoinsamplereduceBykey 会在map端进行预聚合groupBykey groupBysortBykey sortByforeach foreachPartitiontakecollectsave

    环境搭建

local(一般用于测试)独立集群yarn

yarn-client

    Driver在本地(执行spark-submit的服务器)启动如果在本地提交了大量的任务,会导致本地网卡流量剧增

yarn-cluster

    driver在随机一台nodemanger中启动在本地看不到详细执行日志,一班用于上线使用有一个高可用模式,如果driver挂了,会自动重启一个


5. 任务调度和资源调度

6. 缓存

对同一个rdd多次使用的时候可以将rdd缓存起来缓存级别(常用两个)

MEMORY_ONLYMEMORY_AND_DISK_SER

checkpoint: 将rdd的数据缓存到hdfs中, 会切断rdd的依赖关系

    广播变量

当在算子内使用了算子外的一个变量的时候可以将这个变量广播出去如果不使用广播变量每一个task中会有一个变量副本如果使用广播变量是每一个executor中一个变量副本

    累加器

在算子内不能修改算子外的一个普通变量累加器是在Executor端进行累加,在Driver端读取累加结果 2. Spark sql

3. Spark streaming

详情点击该篇博文:spark streaming概述及原理

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5700381.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存