《基于 Hudi Spark SQL 调度的近实时计算探索.pdf》由会员分享,可在线阅读,更多相关《基于 Hudi Spark SQL 调度的近实时计算探索.pdf(30页珍藏版)》请在三个皮匠报告上搜索。
1、基于 Hudi+Spark SQL+调度的近实时计算探索演讲人:苏承祥涂鸦智能数据平台开发2023 1.什么是近实时计算2.Spark SQL 如何对 Hudi 表进行增量读、快照读3.涂鸦智能在 Hudi+Spark SQL+调度 的近实时计算落地实践4.近实时计算中宽表建设5.未来展望什么是近实时计算涂鸦数据计算简介离线计算准实时计算实时计算报表展示即席查询数据服务模型训练腾讯云亚马逊微软云自建时延分类分类分类实时性实时性计算引擎计算引擎资源类型资源类型成本成本离线计算低(天)Hive/Spark临时低准实时计算中(小时)Hive/Spark临时中实时计算高(秒)Spark/Flink常驻
2、高通常任务被调度的频率越高,成本也就越高。随着数据湖技术的快速发展迭代,利用数据湖技术,数仓新增了一种近实时的时延计算,该技术能够在分钟级别的时延下对数仓数据进行增量计算。近实时计算5-30分钟的延迟周期&常驻折中的成本方案Spark SQL 如何对 Hudi 表进行增量读、快照读Hudi Call 命令Call 命令是在 0.11.0 版本中新增的,Call 命令无 Spark 版本限制,用户可以使用 Spark SQL 执行 Call 命令来进行表的一系列运维操作。比如:run_compaction、run_clustering、run_clean、create_savepoint、sho
3、w_commits在 0.13.0 版本可以使用 call help 列出目前支持的所有命令Call 增量读命令copy_to_tablecopy_to_temp_view创建临时视图并使用#read snapshot data from hudi tablecall copy_to_temp_view(table=hudi_table,view_name=table_view,query_type=snapshot,as_of_instant=20230311000000000)select*from table_view#read incremental data from hudi ta
4、blecall copy_to_temp_view(table=hudi_table,view_name=table_view,query_type=incremental,begin_instance_time=20230311000000000,end_instance_time=20230311001000000)select*from table_view#read read_optimized data from hudi tablecall copy_to_temp_view(table=hudi_table,view_name=table_view,query_type=read
5、_optimized)select*from table_view涂鸦智能在 Hudi+Spark SQL+调度 的近实时计算落地实践涂鸦近实时计算架构图ods_real层databasebinlogdatabasekafkaSpark Structured StreamingdatabasebatchkafkaTrigger once+Mergeods_log_real层filebeatlog kafkaSpark Structured StreamingAppbiz kafkaTrigger once+Append调度系统时间分类 调度时间:调度系统根据任务配置的执行时间生成,不会随着任务
6、的延迟执行而变化 业务时间:调度系统根据调度时间进行日期加减,一般默认为调度时间减1天 执行时间:任务实际开始执行的时间调度时间增量计算(#,%(#,%(#,%()*%(+#(%,%()*(%,%()*(%()*,%(+#read incremental data from hudi tablecall copy_to_temp_view(table=T,view_name=view,query_type=incremental,begin_instance_time=i,end_instance_time=i+15)select*from viewdw层计算方式整条链路很轻量级,全部为增量计