
Spark
yscoder
欢迎关注 大数据与数据仓库公众号
展开
-
呕心沥血整理的13道Spark必问面试题
目录一. Spark有几种部署方式?请分别简要论述二. Spark提交作业参数三. 如何理解Spark中RDD的血缘关系?四. 简述Spark的宽窄依赖,以及Spark如何划分stage,每个stage又根据什么决定task个数?五. 请列举Spark的transformation算子,并简述功能七. 请描述Repartition和Coalesce联系与区别八. 分别简述Spark中的缓存机制与checkpoint机制,并指出两者的区别与联系。九. 简述Spark中共享变量(原创 2020-11-29 17:56:22 · 610 阅读 · 0 评论 -
Spark Shuffle调优之调节map端内存缓冲与reduce端内存占比
一. 引言本文首先介绍Spark中的两个配置参数:spark.shuffle.file.buffer map端内存缓冲 spark.shuffle.memoryFraction reduce端内存占比很多博客会说上面这两个参数是调节Spark shuffle性能的利器,实际上并不是这样的。以实际的生产经验来说,这两个参数没有那么重要,往往来说shuffle的性能不是因为这方面的原因决定的,但是整体来说还是有一点点效果的。这两个shuffle调优的小点能带来一些性能的提升,与其他...原创 2020-11-27 09:26:21 · 378 阅读 · 0 评论 -
Spark Shuffle调优之合并map端输出文件
引言广播变量允许开发人员将一个只读的变量缓存在每台机器上而不用在任务之间传递变量。广播变量可被用于有效地给每个节点一个大输入数据集的副本。一个Executor只需要在第一个Task启动时获得一份Broadcast数据,之后的Task都直接从本节点的BlockManager中获取相关数据。优化前默认情况下task执行算子中使用了外部的变量时,每个task都会获取一份变量的副本,有什么缺点呢?在什么情况下,会出现性能上的恶劣的影响呢?对于map这种数据结构,其存放数据的一个单位是E...原创 2020-11-27 09:24:42 · 311 阅读 · 0 评论 -
Spark性能调优之在实际项目中广播大变量
广播变量允许开发人员将一个只读的变量缓存在每台机器上而不用在任务之间传递变量。广播变量可被用于有效地给每个节点一个大输入数据集的副本。一个Executor只需要在第一个Task启动时获得一份Broadcast数据,之后的Task都直接从本节点的BlockManager中获取相关数据。默认情况下task执行算子中使用了外部的变量时,每个task都会获取一份变量的副本,有什么缺点呢?在什么情况下,会出现性能上的恶劣的影响呢?对于map这种数据结构,其存放数据的一个单位是Entry,还有可能会用链.原创 2020-11-26 09:10:44 · 344 阅读 · 0 评论