Hudi 0.6.0 源码阅读(数据写入)

源码阅读(数据写入)

HoodieSparkSqlWriter.write(){
    // 数据写入
    checkWriteStatus(){
        // 提交数据
        client.commit(commitTime, writeStatuses)
        AbstractHoodieWriteClient.commit(){
            // 提交状态
            commitStats(instantTime, stats, Option<Map<String, String>> ){
            
                // 保存完成
                activeTimeline.saveAsComplete()
                
                // 提交
                postCommit(metadata, commitTime, extraMetadata){
                    // 压缩操作
                    forceCompact(extraMetadata);
                    // 归档
                    archiveLog.archiveIfRequired(jsc);
                    // clean操作
                    clean(instantTime);
                }
                
                // 提交Metrics
                emitCommitMetrics(instantTime, metadata, actionType);
            }
        }
    }
}

源码阅读(数据清理)

CleanActionExecutor.execute(){
    // get clean plan
    Option<HoodieCleanerPlan> cleanerPlanOpt = requestClean(instantTime);
    
    // 清理
    runClean(table, HoodieTimeline.getCleanRequestedInstant(instantTime), cleanerPlan);
}

关于大数据方面技术问题可以咨询,替你解决你的苦恼。参考WX:hainanzhongjian

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容