历经大约3个月时间,Apache Hudi 社区终于发布了0.5.1版本,这是Apache Hudi发布的第二个Apache版本,该版本中一些关键点如下
重要:Hudi 0.5.1版本需要将spark的版本升级到2.4+
hoodie.timeline.layout.version=1
。当然,你也可以在CLI中使用repair overwrite-hoodie-props
命令来添加hoodie.timeline.layout.version=1
至hoodie.properties文件。注意,无论使用哪种方式,在升级Writer之前请先升级Hudi Reader(查询引擎)版本至0.5.1版本。repair overwrite-hoodie-props
来指定文件来重写表的hoodie.properties文件,可以使用此命令来的更新表名或者使用新的timeline布局方式。注意当写hoodie.properties文件时(毫秒),一些查询将会暂时失败,失败后重新运行即可。--storage-type
变更为了--table-type
,可以参考wiki来了解更多的最新变化的术语。auto.offset.reset
。--packages org.apache.spark:spark-avro_2.11:2.4.4
,可以参考quickstart了解更多细节。org.apache.hudi.keygen
,如果你使用重载键生成器类(对应配置项:hoodie.datasource.write.keygenerator.class
),请确保类的全路径名也对应进行变更。--skip-ro-suffix
配置项来保持旧的表名,即同步时不添加_ro后缀。hudi-hadoop-mr-bundle
包shaded了avro包,以便支持real time queries(实时查询)。Hudi支持可插拔的记录合并逻辑,用户只需自定义实现HoodieRecordPayload。如果你使用这个特性,你需要在你的代码中relocate avro依赖,这样可以确保你代码的行为和Hudi保持一致,你可以使用如下方式来relocation。
<relocation>
<pattern>org.apache.avro.</pattern>
<shadedPattern>org.apache.hudi.org.apache.avro.</shadedPattern>
</relocation>
hoodie.bloom.index.filter.type=DYNAMIC_V0
来开启。--command
为bulkinsert
。更多细节请参考:https://hudi.apache.org/releases.html#release-051-incubating