4.Schema变更支持
对比项 | Apache Iceberg | Apache Hudi | Apache Paimon |
---|---|---|---|
Schema Evolution | ALL | back-compatible | back-compatible |
Self-defined schema object | YES | NO(spark-schema) | NO(我理解,不准确) |
Schema Evolution:指schema变更的支持情况,我的理解是hudi仅支持添加可选列和删除列这种向后兼容的DDL操作,而其他方案则没有这个限制。
Paimon支持有限的schema变更。目前,框架无法删除列,因此 DROP 的行为将被忽略,RENAME 将添加新列,列类型只支持从短到长或范围更广的类型。
Self-defined schema objec:指数据湖是否自定义schema接口,以期跟计算引擎的schema解耦。这里iceberg是做的比较好的,抽象了自己的schema,不绑定任何计算引擎层面的schema。
在Hudi 0.11.0版本中,针对Spark 3.1、Spark 3.2版本增加了schema功能的演进。如果启用 set hoodie.schema.on.read.enable=true以后,我们可以对表列和对表进行一系列的操作。列的变更(增加、删除、重命名、修改位置、修改属性),表的变更(重命名、修改属性) 等。
5.其它功能
对比项 | Apache Iceberg | Apache Hudi | Apache Paimon |
---|---|---|---|
One line demo | Not Good | Medium | Good |
Python Support | YES | NO | NO(不确定) |
File Encryption< |