Apache Hudi vs Delta Lake vs Apache Iceberg
[一]功能对比
Hudi | Delta Lake | Iceberg | |
读写功能对比 | |||
ACID Transactions 我可以对列式文件进行版本控制和重写吗? | |||
Copy-On-Write 我可以在不重写整个文件的情况下高效地摊销更新吗? |
|
|
|
Merge-On-Read 我可以高效地将初始加载布局到表中吗? |
功能有限,无法在查询性能与合并性能之间取得平衡。此外,还需要手动维护压缩操作。 | ||
高效的合并写入,支持记录级索引 (我可以避免将所有基础文件与所有传入的更新/删除记录进行合并吗?) | |||
引导启动 (我可以在不重写数据的情况下将数据就地升级到系统中吗?) | |||
托管数据摄取 (我可以从流行的来源摄取数据流,并且无需/低代码吗?) | |||
并发性 (我可以同时对表运行不同的写入器和表服务吗?) | |||
主键 (我可以像在常规数据库表中一样定义主键吗?) | |||
列统计与数据跳过 (查询是否可以基于任何列的谓词获益于文件修剪,而无需读取数据文件的页脚?) | |||
基于内置函数的数据跳过 (查询是否可以基于定义在列值上的函数进行数据跳过,除了字面上的列值之外?) | |||
分区演进 (我可以在使用过程中持续更改表的分区结构吗?) | |||
数据去重 (我可以在插入数据时不引入重复项吗?) | |||
表服务 | |||
文件大小配置 (我可以配置一个单一的标准文件大小,以在任何写入表时自动强制执行吗?) | |||
压缩 (可以将来自 MoR 写入的更新/删除与变更日志合并吗?) | |||
清理 (旧版本的文件会自动从存储中移除吗?) | |||
索引管理 (我可以在表上创建新的索引吗?) | |||
线性聚类 (我可以线性地将某些数据靠近存放以提高性能吗?) | |||
多维 Z-Order/空间曲线聚类(我可以使用空间曲线对高基数数据进行排序以提高性能吗? | |||
模式演进 (我可以调整我的表的模式吗?) | |||
可扩展的元数据管理 (表的元数据能够随着数据规模的增长而扩展吗?) | |||
平台支持 | |||
客户端 我可以使用命令行界面(CLI)来管理我的表格吗? | |||
数据质量验证 (我可以定义要检查和执行的质量条件吗?) | |||
预提交转换器 (我可以在写入时对数据进行提交前的转换吗?) | |||
提交通知 (我能在提交成功时收到回调通知吗?) | |||
失败提交保护 (我如何避免部分写入和失败写入操作的影响?) | |||
监控 (我可以直接获取指标和监控功能吗?) | |||
保存点和恢复 (我可以保存数据的快照,然后将表恢复到该状态吗?) | |||
支持的平台 | |||
Apache Spark | |||
Apache Flink | |||
Presto | |||
Trino | |||
Hive | |||
DBT | |||
Kafka Connect | |||
Kafka | |||
Pulsar | |||
Debezium | |||
Kyuubi | |||
ClickHouse | |||
Apache Impala | |||
AWS Athena | |||
AWS EMR | |||
AWS Redshift | |||
AWS Glue | |||
Google BigQuery | |||
Google DataProc | |||
Azure Synapse | |||
Azure HDInsight | |||
Databricks | |||
Snowflake | |||
Vertica | |||
Apache Doris | |||
Starrocks | |||
Dremio |
原文地址:https://blog.csdn.net/LUOHU11/article/details/145022806
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!