阿里网盘优质资源分享 阿里云管理控制台( 四 )


针对这个问题,我们设计开发出了一种叫做“分区映射”的功能,分区映射让用户指定分区的规则,然后具体每个SQL查询的分区会直接通过SQL语句中的查询条件结合用户创建表时候指定的规则直接在计算引擎中计算出来,从而不用去查询外部的元数据,避免元数据爆炸带来的性能问题 。经测试,上述场景下,利用分区投影生成分区需要的时间降为1秒以下,大大提升查询效率 。
基于OSS的Metatable技术
可以看到DLA的分区投影技术降低了海量分区情况下,访问Meta服务的时间开销,该技术通过计算侧计算分区的方法来规避掉海量分区的访问 。DLA目前基于Apache Hudi实现DLA Lakehouse,提供高效的湖仓 。其中在海量分区处理这块,Apache Hudi将表的海量分区映射信息存储在一个OSS上面的Object里面,这样通过读取若干个Object文件可以获取所有的分区信息,规避访问Meta服务的开销 。下面介绍DLA Lakehouse基于Hudi的Metatable技术:
从上图可以看到DLA Meta中会存储库、表、分区的信息,使用当前方案OSS上面分区目录对应的分区信息会存储在DLA Meta服务中,当分析引擎访问这张表的时候,会通过DLA Meta服务读取大量的分区信息,这些分区信息会从底层的RDS中读出,这样会有一定的访问开销 。如果使用到DLA Lakehouse方案,可以将大量的分区映射信息单独存储在基于OSS对象的Hudi Metatable中,Metatable底层基于HFile支持更新删除,通过KV存储方式提高分区查询效率 。这样分析引擎在访问分区表的时候,可以只在Meta中读取库、表轻量的信息,分区信息可以通过读取OSS的对象获取 。目前该方案还在规划中,DLA线上还不支持 。
四、云原生数据湖最佳实践最佳实践,以DLA为例子 。DLA致力于帮助客户构建低成本、简单易用、弹性的数据平台,比传统Hadoop至少节约50%的成本 。其中DLA Meta支持云上15+种数据数据源(OSS、HDFS、DB、DW)的统一视图,引入多租户、元数据发现,追求边际成本为0,免费提供使用 。DLA Lakehouse基于Apache Hudi实现,主要目标是提供高效的湖仓,支持CDC及消息的增量写入,目前这块在加紧产品化中 。DLA Serverless Presto是基于Apache PrestoDB研发的,主要是做联邦交互式查询与轻量级ETL 。DLA支持Spark主要是为在湖上做大规模的ETL,并支持流计算、机器学习;比传统自建Spark有着300%的性价比提升,从ECS自建Spark或者Hive批处理迁移到DLA Spark可以节约50%的成本 。基于DLA的一体化数据处理方案,可以支持BI报表、数据大屏、数据挖掘、机器学习、IOT分析、数据科学等多种业务场景 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: