优化器检查方式
ArcticMetastore#startMetaStoreThreads
启动优化检查线程。
startOptimizeCheck
startOptimizeCommit
在 startOptimizeCheck 启动的线程中
checkRunningTask 会不断将 OptimizeCheckTask 放入 ScheduledTasks 中,这不好像没有校验文件
OptimizeCheckTask
检查逻辑在下面代码
tableOptimize.tryTriggerCommit();
tableOptimize.updateTableOptimizeStatus();
具体优化判断在TableOptimizeItem#updateTableOptimizeStatus 的 BaseOptimizePlan#plan() 中
BaseOptimizePlan#addOptimizeFilesTree()
BaseOptimizePlan#collectTasks()
FileInfoCacheService#getOptimizeDatafiles 会从MySQL读出数据一个表的数据文件信息。
文件个数在Metastore MySQL里存放?
OptimizeService#loadOptimizeTasks 从 MySQL 读出需要优化的任务
MyBatis