Delta、Hudi、Iceberg
文章平均质量分 77
依赖Spark的三个数据湖开源框架Delta,Hudi和Iceberg
肥叔菌
本博客主要用于记录学习过程中的笔记,每隔一段时间,博主将会将精华内容整合发到知乎、简书上。欢迎关注博主肥叔菌在其他平台上的账号,谢谢。
B站:https://space.bilibili.com/456254145
segmentfault:https://segmentfault.com/u/feishujun/articles
简书:https://www.jianshu.com/u/67bab078551a
展开
-
Diving Into Delta Lake: Unpacking The Transaction Log
The transaction log is key to understanding Delta Lake because it is the common thread that runs through many of its most important features, including ACID transactions, scalable metadata handling, time travel, and more. In this article, we’ll explore wha翻译 2023-10-29 16:51:12 · 262 阅读 · 0 评论 -
Lakehouse: A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics
本文认为,我们今天所知的数据仓库架构将在未来几年消亡,取而代之的是一种新的架构模式Lakehouse,它将(i)基于开放的直接访问数据格式,如Apache Parquet,(ii)对机器学习和数据科学具有一流的支持,以及(iii)提供最先进的性能。Lakehouses可以帮助解决数据仓库的几个主要挑战,包括数据的陈旧性、可靠性、总体拥有成本、数据锁定和有限的用例支持。我们讨论了该行业是如何向Lakehouses发展的,以及这种转变可能会如何影响数据管理工作。原创 2023-10-09 00:00:00 · 303 阅读 · 0 评论 -
Apache DolphinScheduler 安装部署
Apache DolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度平台。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用架构。原创 2023-03-21 00:00:00 · 528 阅读 · 0 评论 -
hive-iceberg环境搭建报错: java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument
【解决方法】查看hadoop安装目录下share/hadoop/common/lib内guava.jar版本跟hive安装目录下lib内guava.jar的版本。如果两者不一致,删除版本低的,并拷贝高版本的,保证两者的版本一致。【原因】com.google.common.base.Preconditions.checkArgument 这是因为hive内依赖的guava.jar和hadoop内的版本不一致造成的。原创 2022-11-22 00:00:00 · 284 阅读 · 0 评论 -
Apache Iceberg: An Architectural Look Under the Covers【翻译】
在本文的前面,我们看到,对于Hive表,用户通常需要知道表的潜在的不直观的物理布局,以便获得更好的性能。Iceberg提供了不断向用户公开逻辑视图的能力,从而将逻辑交互点与数据的物理布局分离开来。我们看到了这对于隐藏分区和压缩之类的功能是多么有用。Iceberg通过模式演化、分区演化和排序顺序演化功能,提供了随时间透明地演化表的能力。有关这些的更多详细信息,请访问冰山文档网站。对于数据工程来说,在幕后尝试不同的、可能更好的表布局要容易得多。一旦提交,更改将生效,用户无需更改其应用程序代码或查询。翻译 2022-11-25 00:00:00 · 553 阅读 · 0 评论 -
Iceberg 源码阅读 python API—— TypeID
Type类是PrimitiveType和NestedType类的基类,其提供了判定是否是primitive_type、struct_type、list_type、map_type、nested_type的成员函数。TypeID枚举类型定义在python_legacy/api/types/type.py中,用于标识Iceberg支持的数据类型,实际上就是用于数据类型类type_id成员函数返回其标签。MapType就是字典类型,其key_field就是存放键数据,value_field存放值数据。原创 2022-11-16 00:00:00 · 508 阅读 · 0 评论 -
Iceberg 源码阅读(一) DataFile&DeleteFileile文件接口
如下为table manifest中列出的数据文件和删除文件的接口。DataFile接口重载了两个函数:DataFile文件中存储的内容类型为DATA;equalityFieldIds函数直接返回null。DeleteFile接口重置了splitOffsets函数,返回null。原创 2022-11-02 00:00:00 · 226 阅读 · 0 评论 -
Iceberg 源码阅读(一) ContentFile统一文件接口
如下图所示ContentFile【定义在api/src/main/java/org/apache/iceberg/ContentFile.java】作为。ContentFile统一文件接口用于代表上图上4中的avro格式的manifest文件清单,以如下文件内容为例,将其中第一条记录美化。的父接口(Superinterface),其包含了这两个子接口的公共函数。为ContentFile实例的具体Java类。原创 2022-10-30 16:57:05 · 622 阅读 · 0 评论 -
阿里云云原生数据湖体系全解读——数据湖开发治理平台 DataWorks
数据湖的定义:wikipedia 中对于数据湖的定义是: “ A data lake is a system or repository of data stored in its natural/raw format, usually object blobs or files. A datalake is usually a single store of all enterprise data including raw copies of source system data and trans原创 2020-09-30 21:58:14 · 6445 阅读 · 0 评论 -
阿里云云原生数据湖体系全解读——数据湖 云原生计算引擎
云原生背景介绍与思考图是基于 ECS 底座的 EMR 架构, 这是一套非常完整的开源大数据生态, 也是近10 年来每个数字化企业必不可少的开源大数据解决方案。 主要分为以下几层:ECS 物理资源层, 也就是 Iaas 层。数据接入层, 例如实时的 Kafka, 离线的 Sqoop。存储层, 包括 HDFS 和 OSS, 以及 EMR 自研的缓存加速 JindoFS。计算引擎层, 包括熟知的 Spark, Presto、 Flink 等这些计算引擎。数据应用层, 如阿里自研的 DataWorks、 P原创 2020-09-30 21:51:41 · 6940 阅读 · 0 评论 -
阿里云云原生数据湖体系全解读——数据湖构建 数据导入
数据湖作为一个集中化的数据存储仓库, 支持的数据类型具有多样性, 包括结构化、 半结构化以及非结构化的数据, 数据来源上包含数据库数据、 binglog 增量数据、 日志数据以及已有数仓上的存量数据等.数据湖能够将这些不同来源、 不同格式的数据集中存储管理在高性价比的存储如 OSS 等对象存储中, 并对外提供统一的数据分析方式, 有效解决了企业中面临的数据孤岛问题, 同时大大降低了企业存储和使用数据的成本。由于数据湖数据来源的多样性, 如何简单高效的将这些异构数据源的数据迁移到中心化的数据湖存储中, 是原创 2020-09-30 13:04:24 · 6456 阅读 · 0 评论 -
阿里云云原生数据湖体系全解读——数据湖构建Data Lake Formation
大数据引擎现状在大数据计算和存储领域, 因不同业务场景、 不同数据规模, 诞生了很多适合处理不同需求的各类大数据引擎, 比如计算引擎类有数据分析引擎 Hive、 交互式分析引擎 Presto、迭代计算引擎 spark 以及流处理引擎 Flink 等, 存储类有日志存储系统的 SLS、 分布式文件系统 HDFS 等, 这些引擎和系统很好的满足了某一领域的业务需求, 但也存在非常严重的数据孤岛问题: 在同一份数据上综合使用这些系统, 必然面临着大量的 ETL 工作, 而且更关键的是在目前各种公司业务链路上这种原创 2020-09-30 12:47:24 · 6223 阅读 · 0 评论 -
阿里云云原生数据湖体系全解读——数据湖存储JindoDistCp 数据导入
数据湖就像是一个“ 大水池” , 是一种把各类异构数据进行集中存储的架构。 数据湖是一种存储架构, 在阿里云上可以利用 OSS 对象存储, 来当数据湖的地基。 企业基于阿里云服务, 可以快速挖出一个适合自己的"湖", 而且这个"湖"根据需求, 可大可小, 按"注水量"付费。 在挖好这个"湖"后, 重要的步骤就是如何把各种异构数据注入到湖里。 在传统的大数据领域用户经常使用 HDFS 作为异构数据的底层存储来储存大量的数据, 其中大部分可通过离线数据迁移来注入到以 OSS 作为底层存储的数据湖中。 在进行数据原创 2020-09-29 23:22:26 · 5637 阅读 · 0 评论 -
阿里云云原生数据湖体系全解读——数据湖加速JindoFS 计算节点数据缓存
Jindo 是阿里云基于 Apache Spark / Apache Hadoop 在云上定制的分布式计算和存储引擎。 Jindo 原是阿里云 开源大数据团队的内部研发代号, 取自筋斗(云)的谐音,Jindo 在开源基础上做了大量优化和扩展, 深度集成和连接了众多阿里云基础服务。JindoFS 是阿里云针对云上存储自研的大数据缓存加速服务, JindoFS 的设计理念是云原生: 弹性、 高效、 稳定和低成本。 JindoFS 完全兼容 Hadoop 文件系统接口, 给客户带来更加灵活、 高效的数据湖加速方原创 2020-09-29 23:16:07 · 6263 阅读 · 1 评论 -
阿里云云原生数据湖体系全解读——数据湖存储OSS 远程存储
随着数据量的爆发式增长, 数字化转型成为整个 IT 行业的热点, 数据也开始需要更深度的价值挖掘, 因此需要确保数据中保留的原始信息不丢失, 从而应对未来不断变化的需求。当前以 oracle 为代表的数据库中间件已经逐渐无法适应这样的需求, 于是业界也不断的产生新的计算引擎, 以便应对数据时代的到来。 在此背景下, 数据湖的概念被越来越多的人提起, 希望能有一套系统在保留数据的原始信息情况下, 又能快速对接多种不同的计算平台,从而在数据时代占的先机。什么是数据湖数据湖( Data Lake) 以集中式存原创 2020-09-29 22:47:08 · 6437 阅读 · 0 评论 -
Data Lake 三剑客——Delta、Hudi、Iceberg 对比分析
作者:辛庸,阿里巴巴计算平台事业部 EMR 技术专家。Apache Hadoop,Apache Spark contributor。对 Hadoop、Spark、Hive、Druid 等大数据组件有深入研究。目前从事大数据云化相关工作,专注于计算引擎、存储结构、数据库事务等内容。本文来自 Apache Spark技术交流社区。共同点定性上讲,三者均为 Data Lake 的数据存储中间层,其数据管理的功能均是基于一系列的 meta 文件。meta 文件的角色类似于数据库的 catalog/wal,起到转载 2022-02-14 12:53:16 · 1200 阅读 · 1 评论 -
阿里云云原生数据湖体系全解读——元原生数据湖体系
阿里云首次发布云原生数据湖体系,基于对象存储OSS、数据湖构建Data Lake Formation和E-MapReduce产品的强强组合,提供存储与计算分离架构下,涵盖湖存储、湖加速、湖管理和湖计算的企业级数据湖解决方案。数据湖“数据湖”正在被越来越多人提起, 尽管定义并不统一, 但企业们都已纷纷下水实践,无论是 AWS 还是阿里云、 华为。我们认为: 数据湖是大数据和 AI 时代融合存储和计算的全新体系。数据量爆发式增长的今天, 数字化转型成为 IT 行业的热点, 数据需要更深度的价值挖掘, 因此需原创 2020-09-28 23:40:17 · 8146 阅读 · 0 评论