数据湖技术之iceberg(十三)Iceberg与Hudi对比

南墨2年前技术文章1954

Iceberg和Hudi都是数据湖技术,从社区活跃度上来看,Iceberg有超越Hudi的趋势。他们有以下共同点:

l   都是构建于存储格式之上的数据组织方式

l   提供ACID能力,提供一定的事务、并行执行能力

l   提供行级别数据修改能力。

l   提供一定的Schema扩展能力,例如:新增、修改、删除列操作。

l   支持数据合并,处理小文件。

l   支持Time travel 查询快照数据。

l   支持批量和实时数据读写

Iceberg与Hudi之间不同点在于以下几点:

l   Iceberg支持Parquet、avro、orc数据格式,Hudi支持Parquet和Avro格式。

l   两者数据存储和查询机制不同

l   Iceberg只支持一种表存储模式,就是有metadata file、manifest file和data file组成存储结构,查询时首先查找Metadata元数据进而过滤找到对应的 SnapShot对应的manifest files ,再找到对应的数据文件。Hudi支持两种表存储模式:Copy On Write(写时合并) 和Merge On Read(读时合并),查询时直接读取对应的快照数据。

l   对于处理小文件合并时,Iceberg只支持API方式手动处理合并小文件,Hudi对于小文件合并处理可以根据配置自动的执行。

l   Spark与Iceberg和Hudi整合时,Iceberg对SparkSQL的支持目前来看更好。Spark与Hudi整合更多的是Spark DataFrame API 操作。

l   关于Schema方面,Iceberg Schema与计算引擎是解耦的,不依赖任何的计算引擎,而Hudi的Schema依赖于计算引擎Schema。


相关文章

ES架构模型

ES架构模型

1.整体架构Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎。它允许您快速、近实时地存储、搜索和分析大量数据。它通常用作支持具有复杂搜索功能和需求的应用程序的底层引擎/技术。Elas...

Linux 文件锁

1、背景Linux 系统定时任务正在执行时,可能会遇到上个周期的任务还没有执行完,这样便会造成相同的任务同一时间有过个任务进程在执行。如果任务有对互斥资源操作时,有可能产生死锁。2、用法参考flock...

副本集的管理(一)

一、以单机模式的方式启动    当需要维护某个节点的时候,通常是以单机模式启动该节点,完成维护后再重启为集群中某节点。    如何以单机模式启动服务器?不指定replset选项 dbpath保持不变...

k8s集群内的DNS原理与配置

背景:最近公司有个需求,要在POD应用容器里面能够访问到一些外部域名,这些域名都在一台自建的DNS服务器上做了解析绑定。如果直接在Pod容器里的/etc/hosts文件中设置域名解析,或修改/etc/...

开源大数据集群部署(十二)Ranger 集成 hive

开源大数据集群部署(十二)Ranger 集成 hive

1、解压安装在hd1.dtstack.com主机上执行(一般选择hiveserver2节点)Ø 解压ranger-2.3.0-hive-plugin.tar.gz[root@hd1.dtstack.c...

Datanode节点坏卷处理

Datanode节点坏卷处理

1、告知客户故障信息,确定是否有备用磁盘更换2、停止故障节点的所有角色服务3、卸载故障磁盘umount -vl /data64、等待硬件厂商更换好磁盘5、对新磁盘分区和格式化#1.磁盘分区 mkfs...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。