SPARK
文章平均质量分 71
soaring0121
这个作者很懒,什么都没留下…
展开
-
大数据开发遇坑大杂烩
本文用于记录开发过程中使用到的大数据工具包括Hive、Presto、Spark、Flink、ES、Hadoop等遇到的问题解决方案原创 2019-12-20 17:04:55 · 1776 阅读 · 0 评论 -
spark写入es出现部分数据重复问题排查和解决
问题背景作业流程是从hive读取数据处理后写入es,一直跑的很正常,突然今天发现部分数据重复了问题排查由于是长期正常运行的作业未发生变更,且排查了上游hive表不存在数据重复问题,首先排除了数据和逻辑问题 spark作业是运行成功的,不存在作业失败重试的问题 推测是spark作业内部存在失败重试的问题,于是查看了spark history job的 timeline看到下面这个图表,可以确认是由于11、13节点在写入部分数据后失败了,yarn启动了21、22重新执行导致11、13写入的数据又原创 2022-05-25 17:52:51 · 2097 阅读 · 0 评论 -
Spark Structured Streaming基于数据动态写入ES Index
Spark structured streaming(注意和spark streaming的区别)写入ES的基本代码如下:// df为需要写入es的Dataset<Row>df.writeStream() .format("org.elasticsearch.spark.sql.checkpoint")// 检查点地址,可不配置 .option("checkpointLocation", CHECKPOINT_PATH)// ES节点 .option(...原创 2021-12-10 21:29:04 · 1915 阅读 · 0 评论 -
spark作业序列化问题解决方案
问题现象及原因开发spark作业过程中经常会遇到序列化问题,并出现Task not serializable、java.io.NotSerializableException这样的报错。org.apache.spark.SparkException: Task not serializable at org.apache.spark.util.ClosureCleaner$.ensureSerializable(ClosureCleaner.scala:416) at org.apache.s原创 2021-11-24 15:56:30 · 1869 阅读 · 0 评论 -
解决spark streaming 聚合算子(shuffle)并行度200及缓存buffer不断增大的问题
问题现象: spark流式计算中做聚合需要使用 group by算子,我在使用过程中遇到一些问题,通过stage图可以看出2个问题:1. 聚合算子每个批次shuffle write的数据量直线上升,这样会导致算子得效率逐渐降低,甚至会导致oom2.聚合算子(shuffle)的并行度是200,即使设置spark.sql.shuffle.partitions=10也不生效。200并行度会增加调度压力,并且会把并行度传递到下游(如果不做repartition)。我的业务中会把数据写入iceberg..原创 2021-11-17 17:43:37 · 1963 阅读 · 0 评论 -
Spark Sql性能调优问题
首先我的业务场景是对大量的数据(百万级)进行cpu密集型的计算,一次全量计算需要8个小时左右。计算结果分别简单处理后写入hive和Es。在使用spark sql处理时遇到了两个性能问题:1. 由于单次计算非常耗时,因此使用dataframe.cache()后再分别写入hive和ES,但实际运算了两遍,缓存没有按预想的生效。2. 全量计算非常耗时,因此想要进行增量计算,即第一次全量计算,之后选择没计算过得计算。使用了case when, 和spark.sql.function中的when otherw原创 2020-09-08 01:22:08 · 689 阅读 · 0 评论 -
Spark Structured Streaming特性详解
本文所有内容是基于spark 2.4.3版本官方文档Structured Streaming provides fast, scalable, fault-tolerant, end-to-end exactly-once stream processing without the user having to reason about streamingStructured Stream...原创 2020-01-10 22:03:59 · 1026 阅读 · 0 评论