版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
r构建企业级湖仓架构好友好友刚刚sparksparkspak离线同步lceberg66老板老板老板老板嗨Steven,你可以快速帮我统计一下昨天平台上的热销商品,以及各品类GMV和引导IPV吗?老板很棒的报表,这个报表可以每天更新吗?spak离线同步Iceberg老板这个报表可以实时更新吗?kk但现实却很复杂老板这个报表可以实时更新吗?老板两套引擎,两套代码,统计口径不一致!老板可以再加上环比同比吗?老板离线同步888888实时同步两套存储、两套计算,复用,数据不一致O开发运维两套Pipelineo增量计算,一套架构流计算成本高,批计算回刷代码无法复用6MaterializedTable业务时效性←业务时效性←-ONorders.customer_id=custome调度周期/天(手工配置);SELECT*ONorders.customer_id=customers.id;SELECT*ONorders.customer_ONorders.customer_id=customers.id;一键把数据新鲜度从1min切换到1hAirflow…AirflowAirflow效率低重复开发重复存储业务层批作业流作业批量读取流式消费摄入层DataxCanal批计算流计算成本低批读(File)流读(ChangeLog)摄入层存储层MaterializedTable帮你智能选择性价比最高的执行模式小时级分钟级秒级全量数据增量数据增量数据周期调度周期调度持续计算规划中低中高adwd_logdws_oaJobID:5ee⁴e5ede⁹27fdfafbeb63f442b8c964FlinkSQL>SET'erval'-'2S';FlinkSQL>INSERTINTOpaimon.dw.dw>FORSYSTEMLTIMEASOFdata>ONdatagen.id=user_log[INF⁰]SubmittingSQLupdateJobID:c44d41c4482fce9a656f2929b⁰fe894d[INF⁰]Executesta谢谢大家!示例&测评背景介绍为什么要做增量计算?为什么基于Flink做增量计算?全量计算:·一次执行完成处理00:00:00 WHERETO_DATE(time)=WHERETO_DATE(time)=2024-11-11'成本批计算批计算·时效性低·提高时效性会导致成本·时效性高·成本较高成本·无需长期占用资源·面向批量数据进行优化·不依赖作业内建的状态和破线风险·低成本的增量回刷订正orders数据时效性可修改数据时效性可修改声明式ETL性能自适应优化的能力r 工作介绍工作进展设计思路支持的查询和场景功能开发完成与MT的整合Beta版本待支持的查询和场景执行增量作业记录执行进度执行增量作业写新增写变更写新增写变更读增量读增量读全量全增量一体的存储全增量一体的存储恢复执行进度ABAAABB控制消费的数据量级rBBBBBBABAA确定位点AAB个恢复位点示例&测评未来规划示例初初次执行拓扑(全量)ConstraintEnforcer[示例Duration后后续执行拓扑(增量)执行耗时执行耗时执行耗时执行耗时10min增量■5min10min增量 ·对应计算成本,不包括存储成本未来规划rr提升流批一体场景开发效率开发语法校验/调试(事前)/调试(事中)在不同引擎上常用的数据表坐标,UDF,Fu做到完全一致t返回结果本地执行,快速验证业务逻辑本地执行,快速验证业务逻辑典型流批不一致案例和解决思路常见的影响计算准确性场景状态过期CDC不完整状态过期 updatestatet·全局的TTL设置为24H去重去重1.状态过期时间和业务逻辑不匹配订单状态变更超过了24H调整状态TTL,确保和业务流程最大更新周期一致订单状态Join不上,结果状态过期状态过期2.算子未能正常传递更新状态新数据并不会产游*Rank逻辑变更为只保留第一条数据果重新下发(即使结果未发生变化)订单明细去重去重Join未接受到上游+1(key1,value1)-U(key1,value1)+U(key1,value2)-U(+1(key1,value1)+U(key1,value1)+U(ke+1(key1,value1)2.非确定计算产生不完整CDC-U(key1,value1,time2)-U(key1,value2,time4)果只和处理时相果只和处理时相果可能不一样2.非确定计算产生不完整CDC不完整CDC带来的影响CDC不完整CDC不完整set'table.optimizernon-deterministic-update.strategy'='TRY_RESOLVECDC不完整+----------------------------->elsepower(10,sum(log(10,val1)Calc(select=[key1,key2,key3,CASE(Sf3=0),+-GroupAggregate(groupBy=[key1,key2,key3],select=[key1,key2,key3,MIN_RSf3,SUM_RETRACT(Sf4)ASSf+-Exchange(distribution=[hash[key1,+-Calc(select=[key1,key2,key3,val1,LOG(10,+-TableSourcescan(table=[default_catalog,default_database,table1l,fielCDC不完整-D(key1,type3,0,-In值破坏了中间状态聚合计算前应该赋予默认值,避免产生NAN/Infinity不会导致最终结果错误-U(id1,status1,1)--set'table.exec.sink.upsert-materia生成SinkUpsertMaterializer节点还原顺序-U(id1,status1,1)通过SQLAdvice可以帮助我们提前发现潜在风险,常见的性能优化手段减少Reguarjoin倾斜优化LookupJoin优化RegularJoin改写为PartialUpdate(状态缓存转移到外部存储)多流Join星型模型->雪花模型(减少状态缓存大小)留,状态中保留全字段joinkey字段,状态量相对较小更字段Rank/Agg状态优化(转移至外部存储)完整CDC无状态无状态主键表无状态主键表Rank/Agg状态优化(减少特殊场景下的状态)持续膨胀数据倾斜当Source2维度较少时,容易出现倾斜基于主键hash,确保数据有序,hash均衡适用将小量的维度表broadcastLookupJoin“数据倾斜”(湖表场景下)每个每个subtaskbucket数据场景的数据倾斜(两阶段聚合)set'table.optimizer.agg-phase-st预聚合,避免下游的热点导致某一节点热点预聚合,避免下游的热点订单信息·主键为订单ID订单信息 订单宽表买家信息回刷数据产生变更 订单宽表订单宽表全链路无状态过站信息过站信息湖仓升级:Uniflow构建流批一体实时湖仓趋势洞察趋势洞察引入数仓数据湖引领原生湖仓实时化AI化企Structured,Semi-StructuredandUnstructuredDExternalData核心洞察: ·湖仓架构(Lakehouse),业界及企业认可,能力 ·湖仓架构(Lakehouse)开源开放,兼容流能力 阿里云腾讯云为云亚信科技新华三亚信科技数新网络柏瑞数据围绕湖仓架构(Lakehouse)元数据及数据Source:IDC,IDCMarketScape:中国实时湖仓市场2024年厂商评估,#CHC51768224成本6②流读流写方案原理 核心优势④批读批写调度工作流等能力开发测试开发生产隔离动态CEP流/批作业临时查询数据查询数据摄取作业运维调度智能调优权限管理资源队列状态管理6重复开发重复存储业务层计算层批作业批计算批量读取业务层流作业业务层流作业流计算批计算流计算流计算流式消费批读(File)流读(ChangeLog)一套存储存储层摄入层离线同步实时同步存储层摄入层数据摄取数据存储数据计算 计算引擎数据摄取开发及运行计算引擎数据摄取开发开发流批作业不区分#结果表对接DLF2.0统一鉴权,无需用户名密码perties.dlf.catalog.instance.idperties.dlf.catalog.instance.id8ngrr整库同步6处理处理 ·ApachePaimon内置Sink,屏蔽复杂性 自自自_she-100101环境测试 ·两亿条:3台ecs.g6.2xlarge(24 Nexmark(一亿条记录)阿里云流计算引擎FlinkEngine是ApacheFlink性能的8.4倍各各个Query的运行时间(越低越好)□阿里云流计算FlinkEngine引擎运行总时间(越低越好)Nexmark(两亿条记录)阿里云流计算引擎Flash是ApacheFlink性能的5.7倍各个Query的运行时间(越低越好)运行总时间(越低越好) 阿里云流计算引擎Flash 吾苦含喜rr全链路企业级稳定全链路企业级稳定高可用性稳定性高可用保障存储层基础设施层任务零中断资源动态调配自适应弹性扩缩容业务零感知数据零丢失灾难时跨机房可恢复秒级作业快恢、毫秒级作业延迟秒级极致弹性,高吞吐低延迟自动化运维、弹性资源调配自动化运维、弹性资源调配RTO分钟级6业务层逻辑不统一业务开发不统一计算引擎不统一服务层存储统一业务产品层流批一体存储层痛点问题:①应用层效率低接逻辑(同比、环比、二次加工等),搭建效率低,且容易出错②开发、运维、资源成本高流批存储隔离(面向不同写入场景),提供的数据服务③数据质量难保证66服务层存储统一埋点数据业务产品层埋点数据数据平台-流批一体架构营销大盘行为分析风控决策Al推荐-依据数据新鲜度自动更新关键实时业务实现:流批一体架构升级业务收益:·实时和离线数据业务逻辑一体化,口径天然保持一致·阿里内部团队开发效率提升4-10倍·白天和晚上集群资源得到削峰填谷,资源成本节省1倍时效性任意Quary历史;分区访问日志历史;分区访问日志标签数据交易数据IOT数据ONorders.customer_id=customers.id;业务时效性根据新鲜度自动选择流批模式自动选择流批模式自动刷新结果数据摄入ONorders.customer_id=customers.id;ALTERTABLEcustomer_orT+1处理业务价值T+1处理小文件管理ONorders.customer_id=customers.i新一代流批新一代流批成本成本MaterializedTable帮你智能选择时效性小时级分钟级秒级全量数据增量数据周期调度周期调度低中高新鲜度流计算批计算6单表峰值:非主键表:4000单表峰值:非主键表:4000w/s主键表:1200w/s存储规模:50PB+存储规模:50PB+介绍快手Flink的规模和发展过程流批一体演进介绍快手流批一体演进的三个阶段未来规划介绍未来湖仓规划未来规划介绍未来湖仓规划介绍数仓流批一体的方案和收益介绍快手Flink的规模和发展过程集群规模AZ多AZ保障湖仓&资源统一湖仓&资源统一·灰度升级·指标看板·监控告警·推广应用设介绍快手流批一体演进的三个阶段开发&维护成本高计算&存储成本高计算口径难以拉齐2020~2021时,用户自发使用Flink做流批一体尝试,只替换Flink中的Source和Sink来减少代码开发量。基于FlinkSQL引擎来统一流和批的数据处理,减少开发维护。湖仓一体阶段总结●配置化开发:业务代码框架支持配置化切换Source●维护成本低:代码维护相对方便,流批一套代码级别)级别)●资源开销大:流模式,算子实现不是批场景下最优●重试成本高:流模式,task挂掉,整个作业重试其他存储其他存储制定上线流程,即如何保证上线不出问题。解决生产使用中的稳定性问题,比如慢节点、资源抢占等。性能影子作业语法校验执行计划校验数据一致性资源&耗时对比语法校验执行计划校验数据一致性资源&耗时对比权限控制测试阶段影子测试阶段影子低优作业作业选取低优作业作业选取应用层Adhoc平台ETL调度平台报表平台JDBC/Be应用层计算资源计算资源存储资源总结●业务透明:无需业务介入,完全兼容Hive/SparkBatchSQL能力●引擎能力增强:完善了FlinkBatchSQL能力●资源开销大:影子任务双跑资源开销巨大●人力成本高:引擎行为、语义、casebycase解决本高本高。事务任务和写入任务的并发控制等。索引通常是format自己的索引能力,相对较弱,对更新和读取影响都很大,效率较低。上计算时间,数据新鲜度较低。业务应用场景离线场景离线场景√成本降低湖仓一体阶段合并前一日全量数据全量快照表全量快照表全量快照表全量快照表全量快照表实时同步全量快照表 湖仓一体阶段k数据同步k数据同步ODS层ODS层埋点数据埋点数据√自研同步引擎(不支持动态分区)√计算资源、存储资源开销大湖仓一体阶段数据排序数据排序√下游业务无感切换时效提升明显>元素曝光平均提效2h30min链路平均提效30分钟链路平均提效30分钟湖仓一体阶段数据均衡数据倾斜数据均衡总结r吞吐-输入13:4520:1520:25优化后√避免因为最慢Taskflush数据导致的断流提升平均吞吐20%第一个Task-flush完之后,则startnext√减少HDFS访问,减少等待,叠加Instant并行批引擎流Event批Event批引擎流Event批Event流Entity批Entity√成本:存储不统一√成本:存储不统一,存储成本高&用户数据时延高数据时延高行过滤行过滤实时写入批量读写---行列过滤--多流unionKAI实时训练√成本:存储统一,节约存储成本&降低√性能:支持列裁剪&batchsize灵活√效率:数据新鲜度在秒级(20~30秒)湖仓一体阶段湖仓一体阶段√结构简单,模型简化√模型复用度高,下游依赖效率提高查询效率高,节约了join环√多次大数据量的join√产出时效2.5h左右√留存标签存在重复计算21did当天存在did当天不存在did历史存在更新数据保持不变did历史不存在丢弃33介绍数仓流批一体的方案和收益离线时效日益紧张,基线破线风险是有发生底层处理逻辑拉齐,解决当前指标微小差异1~2小时延迟秒级延迟小时延迟秒级延迟同步同步秀66去重上游任务Failover或者中间件重发数据事务一般通过两阶段提交,保障数据不会重复DWD数据精准一次方案设计-方案考量因素数据大小数据大小业务特性数据质量业务数据种类数据吞吐是否有主键数据质量要求数据重复原因客户端埋点数据巨大,大几百万/S+业务上并没有明确主键,单独设计任务Failover造成的重复服务端Binlog数据一般,大几有主键高数据本身主键重复方案数据吞吐时延优势事务写1大事务时延小大容量作业,客户端埋点数据易保障,支持数据量大事务写大事务时延小,客户端埋点数据支持多层级链路,支持数据量较大,但只能支持去重取第一条能力,没有回撤能力离线去重小增加额外离线处理时延状态变化多,数据量可接受实现简单,支持离线各种语义,数据精准,业务场景复杂的场景数据湖去重小增加额外数据合并时延据实现简单,可以支持最后一条更新语义DWD数据精准一次方案设计-方案选择提效时长选择方案影响直接下游时效作业数下游作业数80分钟+事务写直播送礼DWD60分钟+离线去重(数据湖去重)直播播放DWD50分钟+Flink去重+事务写直播曝光DWD90分钟+Flink去重+事务写直播开播DIM60分钟+数据湖去重本地元素曝光DWD180分钟+离线去重(小时内)总数对比去重总数对比主键重复率对比主键关联率对比明细字段对比核心指标对比离线数仓的稳定性=Max(离线稳定性,实时稳定性)自我覆盖实时实时直接直接DWD数据精准一次方案设计-规模化未来规划介绍未来湖仓规划未来规划性能减少HDFS依赖实时宽表拼接探索更多的业务场景调度平台原有周期性调度策略不满足compaction场景的需要,当前依赖实时扫描发现不够优雅,未来未来规划力非常大,一次构建重复使用。品流批统一存储场景越来越多,每个Server的方式资源浪费会比较严重,会有服务化按需触发。统一服务有利于资源利用和迭代效刘俊宏|技术专家架构细节与性能表现架构细节与性能表现特征数据生产数仓宽表生产宽表生产作业列1列2列3列5列6列1列2列3列4列5列6特征平台、宽表生产提出列式生产■面向生产的schema裁剪■支持不跨列族的谓词下推离线明细数据生产DB类数据导入数仓更新是核心场景之一自研方案HIDI,LSMTree业务需求■批流口径统一■降本增效■降本增效201920202021特征数据生产资源和耗时降低90%,消除存储冗余商企通长周期订单数据同步间提前4小时+批流冲突■数据运维资源效率问题和挑战相同数据量的前提下流写产出文件数越多流读吞吐越低全量表快照表增量快照表快照表dt=20241103dt=20241103架构细节与性能表现存量数据4121312存量数据4121312join增量数据增量数据存量数据幕碑标识第三行12423124优势1倍增量+14 1211231234163524191以支持点查能力4_b419A1Bb121A1Bb1211 模式读瓶颈LSMTree文件数量HUDI增量数据量写瓶颈可拓展功能更丰富列式生产改造经验多支持,不关联数据结构符合预期(自研)批支持MVCC和乱序写入indexing、compact与rescal策略、谓词下推模式、列式生产方案可复用批流兼容流读写分片1流读写分片1批读分片2批读分片3批读分片0批读分片1文件格式■行存文件2parquet文件1parquetselect*fromtblwherev<5多模式快照■时序分区字段■没有业务意义■分区字段值线性增长■数据按时序顺序写入■分区间数据有继承关系■业务分区字段■也有时间类型字段作为分区■分区间数据没有继承关系■如订单创建时间■读写逻辑■按查询需求,选择timelinedeltacommit数据运维■上下游批运维拆分DAG流运维job1job1nator写入数据8'消费并执行木木5通过sendEventTo9更新各writestatus从新到旧4内存压力达到阈值写出文件流写木………3……………基础读写场景对比0流读009单CUQPS663300作业吞吐MB/s8流写吞吐随flink并发线性增长08bucket落0历史数据OGBQPS历史数据10GBQPS历史数据50GBQPS历史数据100GBQPS横向扩展能力持不变时,spark作业完成时间metaserver时延受文件数量线性0250批读吞吐受单并发文件数量线性影响0流读吞吐受文件数量线性影响00批流一体数仓规划Sook■引擎间调优参数不兼容Sook■平台做引擎专家■没有银弹能覆盖全部数据特征、成本和时效性需求■兼容批流读写模式■SQL算子增量化改造■明细■列式生产,特定场景可局部计算笛卡尔积算子改造40I112U212U12-Ds000111222122算子改造■采样selectpercentile(amount,0.5)5-51113U224U13D增量明细数据最终明细数据3士士006Zz332314265士4414255556最终采样结果15offset35存量明细数据存量采样结果031152233算子改造■可批流切换■明细+多模式快照■随算子实现进度推进■表粒度对业务透明迁移迁移前迁移中迁移后罗宇侠|阿里云高级开发工程师ApacheFlinkCommitter架构到数据湖统一存储架构架构到数据湖统一存储架构架构到数据湖统一存储架构架构到数据湖统一存储架构分钟级数据新鲜度分钟级数据新鲜度,够了吗?分钟级数据新鲜度,够了吗?数据新鲜度的重要性数据准确性业务决策反应能力和决策质量数据完整性数据一致性五如果我需要秒级数据新鲜度引入流存储=》湖流割裂秒级秒级分钟级每套存储的故障排查,监控,升级数据数据数据一致性数据治理列存,高效列裁剪主键表高效点查主键表实时更新统一流湖存储r流读 rrrrr一分钟后一分钟后一秒内数仓分层每层表数据新鲜度一致,不受层级影响若干个6迈向秒级数据新鲜度降低维护,降低维护,数据重复存储的成本r维表root@serverl:-/tluss(ssh)未来规划未来规划未来规划腾讯大数据天穹流批一体建设之背景介绍·独立的实时数据处理流,可满足较灵活的实·流批数据分开存储,难以相互引用·规模受限,在全量数据湖的基础上,仍需要有独立Lakehouse的技术2019年推出后,提供了湖内数据的·架构更加简单,数据湖技术栈同时实现实时增量和离线批量数据加工开发、存储成本低DataSourcespresto》spok0010010001000011111111118ss关键特性透明化流批数据的存储和转惯和体验流批统一流批统一实时性与批处理的统一,支持实时数据流处理和历史数据批易用性低开发和运维成本实时性实时性的流读能力数据一致性图一致性查询加速查询加速提升业务回溯历史数据效率和离线批查性能可快速兼容新出现的开源方案,架构支持水平扩展支持容错机制,确保数据不丢失和计算结果准确秒级/毫秒级流读顺序性低延迟流写秒级/毫秒级流读顺序性低延迟流写基础能力解决开源数据湖方案中数据延迟高的问题,提供优秀的批读、批写能力,以及秒级/毫秒级的流读、流写能力,同时保证了秒级别的数据可见性。提供EOS语义、事务、顺序性保证、订阅模式、生命周期管理以及权限等功能。兼容数据湖保留了Iceberg、Paimon等数据湖的行为和使用习惯,提供了Catalog、DB、Table等语义,并提供了兼容Iceberg、Paimon等数据湖格式的统一客户端。使得已经使用数据湖的用户可以无缝切BSSBSS核心能力提供低延迟的批流一体存储BSS提供包括但不限于流上数据的点查、范围查、有效过滤、批询、多数据视图等能力。目前BSS已经跟天穹内等组件打通,用户可在天穹大数据体系下使用BSS。APPClients目目目 123sparksparkSELECT*FROMorders$iceberg$SELECT*FROMorders$iceberg$histo……4.Authentication&Authorizpayload-sizeevent_time事务日志事务日志5.1广播提交9任务执行频率资源分配资源分配JOBJOB组装③③⑤⑤002name_12221n33102341212987654327.5—7.43writetps0BSSIceberg非分区iceberg分区Paimon非分区Paimon分区240.2271.20小消息吞吐(单条消息213B)大消息吞吐(单条消息4MB)65655.35.324KBmessage吞吐对比(MB/s)0NONENONE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 赣南师范大学科技学院《免疫学实验》2023-2024学年第一学期期末试卷
- 赣东学院《母婴中医护理学》2023-2024学年第一学期期末试卷
- 七年级生物上册第二单元第二章第一节细胞通过分裂产生新细胞教案新版新人教版
- 七年级语文上册单元清三新人教版
- 三年级科学上册第一单元科学在我们身边第二课我们周围的动物教案青岛版
- 甲流乙流培训课件
- 雪佛兰销售培训课件
- 培训课件包教学课件
- 《抗菌药物概论课件》课件
- 小学生比赛课件模板
- 高层建筑幕墙事故应急预案
- 北师大版五年级数学下册第3单元第2课时分数乘法(二)课件
- 贵州省安顺市2023-2024学年高一上学期期末考试历史试题(解析版)
- 城市规划思想史
- 2024 潮玩行业专题报告:一文读懂潮流玩具消费新趋势
- 艺考培训宣讲
- 华东师范大学《法学导论I》2022-2023学年第一学期期末试卷
- 让与担保合同协议范本
- 2024年度无人机部件委托生产加工合同
- 住宅设计效果图协议书
- 中华人民共和国建筑法
评论
0/150
提交评论