背景
目前hudi的与spark的集合还是基于spark datasource V1来的,这一点可以查看hudi的source实现就可以知道:
class DefaultSource extends RelationProvider
with SchemaRelationProvider
with CreatableRelationProvider
with DataSourceRegister
with StreamSinkProvider
with StreamSourceProvider
with SparkAdapterSupport
with Serializable {
后续发现也是基于Datasource V2的
闲说杂谈
继续上次的Apache Hudi初探(五)涉及的代码:
preCommit(inflightInstant, metadata);
commit(table, commitActionType, instantTime, metadata, stats);
// already within lock, and so no lock requried for archival
postCommit(table, metadata, instantTime, extraMetadata, false);
LOG.info("Committed " + instantTime);
releaseResources();
this.txnManager.endTransaction(Option.of(inflightInstant));
...
runTableServicesInline(table, metadata, extraMetadata)
emitCommitMetr

文章详细阐述了Hudi如何与Spark集成,特别是其基于DataSourceV1和DataSourceV2的交互。讨论了Hudi的提交流程,包括preCommit、commit和postCommit操作,以及marker文件在处理并发写入和冲突解决中的作用。此外,还提到了元数据管理、资源释放、事务管理、自动清理和归档策略,以及可能的Compaction和Clustering操作。
最低0.47元/天 解锁文章
1673

被折叠的 条评论
为什么被折叠?



