System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种提升spark结构化流计算数据持久化的方法技术_技高网

一种提升spark结构化流计算数据持久化的方法技术

技术编号:41285144 阅读:6 留言:0更新日期:2024-05-11 09:34
本发明专利技术公开了一种提升spark结构化流计算数据持久化的方法,包括以下步骤:(1)、Structured Streaming读取Kafka数据进行计算,若在下一个调度周期内,前一个batch任务仍未将数据处理完,则会出现batch任务堆积。Spark Driver周期性检测batch堆积数目是否大于阈值M.此处M取值3;(2)、若否,则任务物理执行计划DAG不变,仍保留coalesce(N)算子,在batch时间内只产生N个HDFS文件;(3)、若是,则spark调度下一个任务时将动态调整执行计划,去掉coalesce算子,此时Spark DAG只保留一个stage,数据接入、清洗后会直接写入到HDFS存储系统。本发明专利技术提升了在业务高峰期Structured Streaming数据持久化到HDFS文件系统的效率,同时降低在业务低谷期产生过多的小文件。

【技术实现步骤摘要】

本专利技术涉及的是大数据实时计算领域,具体涉及一种提升spark结构化流计算数据持久化的方法


技术介绍

1、structured streaming是业界具有低处理时延、高吞吐量的分布式实时计算框架。目前业务中常见的一种应用场景是structured streaming消费kafka消息中间件的数据,经过etl清洗后将结果数据存储在hive表中。

2、若实时计算处理逻辑中不包含shuffle算子,如repartition、join等,其微批处理模型如图1所示,structured streaming写入hdfs存储系统的文件个数与sparktask个数一致;

3、在实际的业务处理中,为了减少产生过多的小文件影响hadoop集群的稳定性。常见的解决方案是在将结果数据写出到外部存储系统前,通过在sink端增加coalesce算子进行合并。但缺点是在业务流量高峰期,数据持久化到hdfs的效率会大大降低,而过多的数据堆积在spark executor中也容易导致任务因oom失败。

4、为了提升在业务高峰期structured streaming数据持久化到hdfs文件系统的效率,同时降低在业务低谷期产生过多的小文件,本专利技术提出了一种structured streaming自适应执行方案。


技术实现思路

1、针对现有技术上存在的不足,本专利技术目的是在于提供一种提升structuredstreaming数据持久化的方法,提升了在业务高峰期structured streaming数据持久化到hdfs文件系统的效率,同时降低在业务低谷期产生过多的小文件。

2、为了实现上述目的,本专利技术是通过如下的技术方案来实现:一种提升spark结构化流计算数据持久化的方法,包括以下步骤:

3、1、structured streaming读取kafka数据进行计算,若在下一个调度周期内,前一个batch任务仍未将数据处理完,则会出现batch任务堆积。spark driver周期性检测batch堆积数目是否大于阈值m.此处m取值3;

4、2、若否,则任务物理执行计划(dag)不变,仍保留coalesce(n)算子,在batch时间内只产生n个hdfs文件;

5、3、若是,则spark调度下一个任务时将动态调整执行计划,去掉coalesce算子,此时spark dag只保留一个stage,数据接入、清洗后会直接写入到hdfs存储系统,不存在因coalesce引入的shuffle操作(spark shuffle包含了大量的磁盘io、序列化、网络数据传输等操作,会降低任务处理性能),数据同步效率会大大增加。

6、本专利技术的有益效果:本专利技术提升了在业务高峰期structured streaming数据持久化到hdfs文件系统的效率,同时降低在业务低谷期产生过多的小文件。

本文档来自技高网...

【技术保护点】

1.一种提升spark结构化流计算数据持久化的方法,其特征在于,包括以下步骤:

【技术特征摘要】

1.一种提升spark结构化流计算数据持...

【专利技术属性】
技术研发人员:张璐波王全福谢巍盛
申请(专利权)人:天翼电子商务有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1