Spark
诸葛子房_
先后就职于京东和BAT,在大数据领域有多年工作经验;
Apache Griffin&&Apache Zeppelin Contributor,dataCompare和dataService作者
展开
-
Spark数据倾斜问题分析和解决
如果是sql 任务进入到 SQL 页面看到 对应的执行卡在哪里,然后分析,如下图是hash id、actor_name,可以看到是group by 数据有倾斜。group by 数据倾斜问题,可以参考hive group by 数据倾斜问题同样处理思路。首先需要掌握 Spark DAG、stage、task的相关概念。可以看到某个task 读取的数据量明显比其他task 时间较长。task数量和rdd 分区数相关。找到运行时间比较长的stage。再进去看里面的task。原创 2023-10-11 15:07:07 · 1466 阅读 · 0 评论 -
Spark Driver和Executor数据传递使用问题
200MB以下才建议broadcast,太大的数据建议:两个DataFrame/rdd可以直接关联。1.首先需要理解下Driver 和Executor的概念。4.Executor端数据拉到Driver端。原创 2023-07-05 18:15:24 · 778 阅读 · 0 评论 -
Spark 基础教程:wordcount+Spark SQL
具体代码参考:Spark SQL。原创 2022-08-17 18:08:13 · 633 阅读 · 0 评论 -
Spark 教程系列
1)首先检查你的最大并行度(task个数)是否大于申请的vcore个数,如果不是的话,减少executorVcores,使得executorCores*executorNum小于Spark任务的最大并行度。在executor memory不变的情况下,降低executor cores会提高单位vcore的memory使用量。(2)如果你的Spark任务执行较慢,可提高任务的并行度,充分利用你当前申请的资源。第一部分是driver 日志,第二部分是excutor 日志。3.线上实际任务分析。.........原创 2022-08-12 16:05:12 · 777 阅读 · 0 评论 -
亿级数据如何分钟级别写入缓存?
1.背景在做用户画像的过程中经常会遇到,需要将用户数据入缓存的需求,提供给线上服务进行调用,因为最终加工的画像数据普遍会存储在离线表(Hive)或者一些其他存储中(HDFS、Doris 等等)但是这类数据存储的特点非常明显适合一些内部运营系统做数据分析,但是用来做线上系统的高QPS、低延迟的服务,显然是不能满足的。因此就必须将画像数据写入到redis 这种类似的分布式缓存当中。那么如此大量的数据(亿级),如何能更快地写入到缓存当中呢?2.系统架构设计(1)利用Spark rdd 多分区的方式来进行并行写入缓原创 2022-06-27 20:23:12 · 782 阅读 · 0 评论 -
Spark 任务运行时日志分析
1.spark job 运行时2.System.out.println() 日志输出位置3.stderrlog.error 输出日志位置原创 2022-02-17 16:08:29 · 1141 阅读 · 0 评论