Apache Hudi毕业后发布的第一个版本
1. 下载连接
- 源代码下载:Apache Hudi 0.5.3 Source Release (https://downloads.apache.org/hudi/0.5.3/hudi-0.5.3.src.tgz)
- 0.5.3版本相关jar包地址:https://repository.apache.org/#nexus-search;quick~hudi
2. 迁移指南
- 这是一个bugfix版本,从0.5.2升级时不需要任何特殊的迁移步骤。如果要从早期版本"X"升级,请阅读"X"和0.5.3之间的每个后续版本的迁移指南。
- 0.5.3是Hudi毕业后的第一个版本,因此所有hudi jar的版本名称中不再带有"-incubating"。在所有提及hudi版本的地方,请确保不再存在"-incubating"。
例如,hudi-spark-bundle pom依赖如下所示:
代码语言:javascript复制<dependency>
<groupId>org.apache.hudi</groupId>
<artifactId>hudi-spark-bundle_2.12</artifactId>
<version>0.5.3</version>
</dependency>
3. 关键特性
Hudi内置支持 aliyun OSS
对象存储。
默认情况下将为delta-streamer和spark datasource写入启用Embedded Timeline Server。在此版本之前,此功能处于实验模式,embeddedTimeline Server在Spark Driver中缓存文件列表,并提供Restful接口给Spark Writer任务调用来减少了每次写入时的list文件列表的操作,此优化对DFS及云上对象存储非常友好。
默认情况下为delta-streamer和Spark datasource写入均启用"增量清理(incremental cleaning)"。在此版本之前,此功能还处于实验模式,在稳定状态下,增量清理避免了扫描所有分区的昂贵步骤,而是使用Hudi元数据来查找要清理的文件,此优化也对DFS及云上对象存储非常友好。
支持将Delta-Streamer配置文件放置在与实际数据不同的文件系统中。
Hudi Hive Sync现在支持按日期类型列分区的表。
Hudi Hive Sync现在支持直接通过Hive MetaStore进行同步。您只需要设置hoodie.datasource.hive_sync.use_jdbc = false
。Hive Metastore Uri将从environment中隐式读取。例如当通过Spark datasource写入时,
spark.write.format(“hudi”)
.option(…)
.option(“hoodie.datasource.hive_sync.username”, “<user>”)
.option(“hoodie.datasource.hive_sync.password”, “<password>”)
.option(“hoodie.datasource.hive_sync.partition_fields”, “<partition_fields>”)
.option(“hoodie.datasource.hive_sync.database”, “<db_name>”)
.option(“hoodie.datasource.hive_sync.table”, “<table_name>”)
.option(“hoodie.datasource.hive_sync.use_jdbc”, “false”)
.mode(APPEND)
.save(“/path/to/dataset”)
完成Presto支持查询MoR类型表Hudi侧的改造。
其他与Writer Performance相关的缺陷修复:
- DataSource Writer避免了写入后不必要的数据加载。
4. 感谢
感谢如下贡献者(排名不分先后): @bhasudha,@yanghua ,@ddong ,@smarthi ,@afilipchik,@zhedoubushishi,@umehrot2,@varadar,@ffcchi,@bschell,@vinothchandar ,@shenh062326,@lamber-ken,@zhaomin1423,@EdwinGuo,@prashantwason ,@pratyakshsharma,@dengziming ,@AakashPradeep,@Jecarm ,@xushiyan ,@cxzl25,@garyli1019 ,@rolandjohann ,@nsivabalan,@leesf ,@jfrazee