- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
实时入湖Hudi应用解决方案
数据集成整体方案
数据入湖通用方案
数据入湖进阶方案
目录
CONTENT
01
数据集成整体方案
数据集成整体方案
数据库
文件
批量集成Loder
实时集成CDL
消息队列
JDBC直连
CDC采集
第三方工具实时采集
Hive表
Hudi表
Spark/Flink
FTP服务
批量集成Loder
Hive表
实时集成CDL
Hudi表
非标准格式
Spark/Flink
消息队列
标准格式
批量
实时
数据量
大(百万到千万级)
小(单表万级TPS)
运行态
周期
常驻
资源消耗
周期性峰值
高/低峰期
时延
分钟到小时级
秒级
批量入湖方案
特点
适用于存量数据搬迁
补数
增量对时效要求不高,比如T+1
挑战
数据重复问题。数据库JDBC直连方式或者文件导出方式无法识别更新和删除,直接写入目标表会导致数据重复问题。
JDBC直连方式读取数据库数据会受到底层网络资源的影响,JDBC协议通道也有限,大数据量场景该方式采集数据不仅效率低而且对业务库带来压力。
文件入湖需要更多的上下游协同来保证完整性,依赖可以管理上下游任务调度的平台。
对接消息管道批量入湖需要关注数据老化时间,以防止丢失数据。
推荐
Hudi表(需要主键)拥有行级的更新能力,可以自动去重。建议对表进行分区,这样去重环节比较方便。
在业务库网络通道充足且有备库的情况下,可用JDBC方式进行大数量采集。或者采用文件入湖来规避。
文件入湖可以进行压缩上传和下载,降低网络通道消耗,可以采用flag标记文件的上传状态,确保文件完整性。
消息管道批量入湖可以通过限流来保证入湖程序的稳定性,增加监控对消费终止和积压等进行告警,降低数据老化风险。
实时入湖方案
特点
入湖频率高,单次数据量低,数据都是包含新增、更新和删除的过程数据,而非最终快照数据。
业务需要快速的数据计算,满足业务的实时决策需求。
任务常驻,资源不释放,降低资源消耗峰值和源库压力。
挑战
Flink引擎直连数据源的方案单个流只能处理单个表,资源消耗大,无并发,吞吐量小。面对异常场景带来的问题,分析起来难度大,可靠性低。
Spark引擎直连数据源的方案开发成本高。
实时场景DDL和DML操作需要一定的有序性保证。
实时场景对于数据存储模型的设计非常重要。
推荐
建议采用专业的CDC工具。它可以提供的可视化无代码的方式同步;单任务可以采集多表,资源复用,高吞吐;支持的数据源和目标存储格式丰富;最关键的是专业的CDC工具可以快速的从异常场景恢复,丢数风险低,有丰富的告警和监控来保证任务的可靠性。
保证数据湖的DDL操作要早于业务库变更,可以在入湖程序对关键表的数据格式进行检查,如字段增减、数据类型调整,发现异常程序立即退出并告警,保证数据质量。
实时数据入湖只能采用Hudi格式的存储,特大表入湖推荐使用MOR表+Bucket索引+分区。
Hudi表模型设计方案
类型
入湖实时性要求高就选择MOR表。一般端到端的实时入湖性能要求都在分钟内。
表字段的大小写以及字段类型在不同的引擎上都会有差别,建议统一字段大小写,调研各引擎之间字段类型的映射关系。
索引
如果业务涉及到多个引擎操作同一个Hudi表,要统一Hudi表的索引。
Bucket索引适合Spark/Flink引擎交互操作。
Bucket索引的分桶要合理,否则性能会下降。分区表一般建议按业务峰值预估最大的分区未压缩前的数据量/2G来分桶,非分区表建议按照业务峰值预估整表未压缩前的数据量/2G*2来分桶。
状态索引建议在2亿数据量以下使用,Cow多数采用Simple索引(大表建议采用Bloom索引),MOR大数据量表建议Bucket索引。
分区
建议事实表采用日期分区表,维度表采用非分区或者粗粒度的日期分区表。
分区要基于数据更新范围以及下游作业读取方位来确定。
模式
Upsert
Append
快照表方案
1.增量同步快照表
全量同步快照表
场景
① 小表+批量入湖
② 源表物理删除
实现
① Truncate+Insert
② InsertOverwriteTable
批量同步任务
Hive增量临时表
Hive快照表
存增量合并
Hive最新临时快照
InsertOverwrite
Upsert
Hudi快照表
Upsert
实时同步任务
拉链表方案
1.Hudi增量拉链表
特点
① 通常采用分区表,根据业务需要选择合适的分区粒度。
② 每个分区内的数据都是该时间范围产生的增量数据的最新快照。
③ 分区之间可以存在主键重复,分区内没有主键重复,每个主键对应的分区字段可以变化。
替换老数据
批量同步任务
Hudi最新快照表
Hudi旧快照表
Hudi增量数据获取
Hudi增量拉链表
您可能关注的文档
最近下载
- JCT 2112-2012 塑料防护排水板.建材建工行业标准.pdf VIP
- 08J907 洁净厂房建筑构造.pdf VIP
- 某企业设备机长负责制.docx VIP
- 《第六次全国幽门螺杆菌感染处理共识报告》解读.pptx
- 北京理想汽车有限公司竞争战略研究.pdf
- 最新计算机应用基础教案win7---2010汇编.doc VIP
- 【新教材】湘教版(2024)七年级上册地理第二章《认识地球》测试卷(含答案).docx VIP
- JIS-H5302-2006铝合金压铸件(中文).pdf VIP
- 部编人教版六年级上册《道德与法治》知识点考点归纳总结.pdf VIP
- MEGMEET麦格米特MC160增强型系列PLC随机手册.pdf VIP
文档评论(0)