当前位置: 首页 > 网络应用技术

数据湖启示录-Delta Lake

时间:2023-03-07 19:07:34 网络应用技术

  简介:Delta Lake是构建用于构建湖泊仓库架构的存储框架的数据映的开源。在提供批处理的同时,为湖仓库建筑提供了可靠,安全和高性能的保证。

  Delta Lake是构建用于构建湖泊仓库架构的存储框架的数据映的开源源。可靠,安全且高性能保证湖仓库建筑,同时提供批处理流量。

  三角洲湖的主要特征:

  与普通的蜂巢桌相比,湖观察之间的最大区别在于,湖桌的元数据是自我管理的,并存储在文件系统中。下图显示了Delta Lake Table的文件结构。

  达美湖的文件结构有两个主要组成:

  Delta Lake通过快照管理桌子的多个版本,并支持Time-Travel查询的历史版本。无论是查询最新的快照还是历史中快照信息,您都需要分析相应快照的元数据信息首先,主要涉及:

  加载特定的snopshot时,为了加速加载过程,请尝试查找少于或等于此版本的检查点文件,然后组合日志文件的当前版本以获取元数据信息。

  阿里巴巴云EMR团队自19年以来一直跟进了三塔克人社区,并降落在EMR的商业产品中。在迭代功能,优化性能,整合生态学,降低使用易用性,场景着陆等方面,连续不断波兰和升级三角洲,以便更好地整合EMR产品供客户使用。

  下表总结了EMR Deltalake比较EMR Deltalake比较的主要自我开发特征(社区1.1.0)。

  特别注:

  deltalake1.x版本仅支持Spark3并绑定特定的Spark版本,从而产生了一些新的功能/优化,这些功能无法在旧版本和Spark2上使用,EMR Deltalake维护Deltalake(0.6)和Deltalake(1.x)Spark3。同步功能特征;

  DLF(Data Lake组)是一个完整的固定速度,可帮助用户在云上为云湖和湖泊建立服务,为客户提供统一的元数据管理,统一的权威和安全性,方便的数据进入湖泊,并具有一个单击的能力输入湖泊和一个观点的数据探索功能,无缝连接多个计算机,打破数据岛并深入了解业务价值。

  - 深度集成中的EMR Deltalake和DLF,因此Deltalake表由Metadata对DLF的Metastore自动完成。避免使用Deltalake表的蜂巢外观(如开源版本)的蜂巢外观的操作。同步后,用户可以直接通过Hive,Presto,Impala甚至Alibaba Cloud MaxCompute和Hologres查询,而无需任何其他操作。

  同样,DLF具有成熟的湖泊输入能力。用户可以通过产品配置的数据直接通过数据直接同步Deltalake表。

  在DLF的产品侧面,作为第一位公民DLF,DLF也将在下一次迭代中轻松使用视觉显示,以及湖观察管理人员可以帮助用户更好地维护湖观察的能力。

  缓慢变化的维度(SCD)正在缓慢变化,这被认为是改变跟踪维度的关键ETL任务之一。在仓库场景中,通常使用星模来关联事实和尺寸。是否随着时间的推移进行更新,如何存储和管理当前和历史维度?它是否直接忽略,直接涵盖,或其他处理方法,例如永久保存历史的维度。根据不同的处理方法,SCD定义了A多种类型,其中SCD Type2通过增加新记录来保留所有历史价值。

  在实际的生产环境中,我们可能不需要注意所有历史维度的值,而是要注意固定时间内的最新价值,例如一天的价值或每小时的价值,并注意一个值尺寸每天或小时。因此,实际情况可以根据固定粒径(或业务快照)转换为慢变化的尺寸。

  基于传统仓库中蜂巢表的实现,有几种选择。列出了以下两个解决方案:

  通过Deltalake本身的升级,加上SparkSQL的改编,Spark Streaming,我们已经意识到SCD type2场景。架构如下:

  上游KAFKA的数据也连接到上游,并根据配置业务表达流端上的粒径剪切数据,并分别带有业务快照的值,在接收数据后,Deltalake节省了该数据。快照和业务快照之间的关系。以及下一个业务快照到达时,为先前的快照而建立了保存点以永久保留该版本。在用户查询时,特定快照会通过指定业务快照的特定价值识别查询是通过时间旅行来实现的。

  Deltalake解决方案优势上的G-SCD:

  在当前的定位体系结构下,我们经常将数据分配给ODS,DWD,DWS,ADS和其他方便管理。如果原始数据存储在MySQL或RDS中,我们可以消耗其Binlog数据以实现ODS表的增量更新。但是从ODS到DWD,从DWD到DWS层的数据如何?由于Hive表本身没有生成Binlog数据的能力,我们无法实现下游链接的增量更新。使Lake Watch生成类似的Binlog数据的能力是建立仓库数量实际增加的关键。

  Alibaba Cloud EMR实现了基于Deltalake的流源的CDC功能。打开后,所有数据操作都将同时且连续生成,因此下游流式的读取;同时,它支持SparkSQL语法查询。如下所示:

  ODS层delta表user_city_table接收源数据以执行合并操作,同时保留了不断变化的数据;DWS层读取城市聚合的City_cnt_table表的更改数据,并已更新为CNT聚合字段。

  Deltalake作为EMR的主要湖泊格式,已经获得了许多客户的信任和选择,并已登陆了自己的实际生产环境,并连接各种情况。SubSubSubsexter将继续加强对Deltalake的投资,深入发现和The The The The The The Discover。DLF的整合,丰富湖泊的运营和维护管理能力,降低进入湖泊的用户成本;不断优化读取和写作性能,通过阿里巴巴云大数据系统改善生态结构,促进仓库集成的客户lakeconstruction。

  原始链接

  本文是阿里巴巴云的原始内容,未经许可就无法重印。

  原始:https://juejin.cn/post/709704818187663286303