特性速览| Apache Hudi 0.5.3版本正式发布
1. 下载连接
- 源代码下载:Apache Hudi 0.5.3 Source Release (asc, sha512)
- 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依赖如下所示:
<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文件列表的操作,此优化对云上对象存储非常友好。
默认情况下为delta-streamer和Spark datasource写入均启用"增量清理(incremental cleaning)"。在此版本之前,此功能还处于实验模式,在稳定状态下,增量清理避免了扫描所有分区的昂贵步骤,而是使用Hudi元数据来查找要清理的文件,此优化也对云上对象存储非常友好。
支持将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避免了写入后不必要的数据加载。
- Hudi Writer现在利用spark的并发来加速小文件查找。
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
最新文章
- Python的多类型传值和冗余参数
- 20145337 《Java程序设计》第二周学习总结
- Linux 下没有conio.h 已解决
- [转]make: 警告:检测到时钟错误。您的创建可能是不完整的。
- Qt之QNetworkInterface
- BZOJ 1051 受欢迎的牛
- oracle中imp命令具体解释
- CSS小例收藏
- HDU 3501 Calculation 2 ——Dirichlet积
- 使用C#创建简单的WCF服务
- 在mac下使用终端命令通过ssh协议连接远程linux系统,代替windows的putty
- buaaoo_second_assignment
- 使用css设置三角形
- 在excel中将缺失数据全部用0补齐
- Python的getpass模块
- Java编程的逻辑 (19) - 接口的本质
- Android:Attribute is missing the Android namespace prefix
- [转发]如何在ASP.NET的web.config配置文件中添加MIME类型
- Go Revel - Validation(验证)
- gradle-4.1-all.zip
热门文章
- SEPC:使用3D卷积从FPN中提取尺度不变特征,涨点神器 | CVPR 2020
- PIC单片机的定时器
- 实现.Net程序中OpenTracing采样和上报配置的自动更新
- 【转】DataFrame合并
- JavaScript ——内部函数和匿名函数
- Rocket - debug - dm registers
- Rocket - debug - Example: Accessing Registers Using Abstract Command
- Java实现 LeetCode 91 解码方法
- java实现第五届蓝桥杯猜年龄
- Mac卸载.net core sdk