in amoro-ams/src/main/java/org/apache/amoro/server/table/TableConfigurations.java [220:322]
public static OptimizingConfig parseOptimizingConfig(Map<String, String> properties) {
return new OptimizingConfig()
.setEnabled(
CompatiblePropertyUtil.propertyAsBoolean(
properties,
TableProperties.ENABLE_SELF_OPTIMIZING,
TableProperties.ENABLE_SELF_OPTIMIZING_DEFAULT))
.setMaxExecuteRetryCount(
CompatiblePropertyUtil.propertyAsInt(
properties,
TableProperties.SELF_OPTIMIZING_EXECUTE_RETRY_NUMBER,
TableProperties.SELF_OPTIMIZING_EXECUTE_RETRY_NUMBER_DEFAULT))
.setOptimizerGroup(
CompatiblePropertyUtil.propertyAsString(
properties,
TableProperties.SELF_OPTIMIZING_GROUP,
TableProperties.SELF_OPTIMIZING_GROUP_DEFAULT))
.setFragmentRatio(
CompatiblePropertyUtil.propertyAsInt(
properties,
TableProperties.SELF_OPTIMIZING_FRAGMENT_RATIO,
TableProperties.SELF_OPTIMIZING_FRAGMENT_RATIO_DEFAULT))
.setMinTargetSizeRatio(
CompatiblePropertyUtil.propertyAsDouble(
properties,
TableProperties.SELF_OPTIMIZING_MIN_TARGET_SIZE_RATIO,
TableProperties.SELF_OPTIMIZING_MIN_TARGET_SIZE_RATIO_DEFAULT))
.setMaxFileCount(
CompatiblePropertyUtil.propertyAsInt(
properties,
TableProperties.SELF_OPTIMIZING_MAX_FILE_CNT,
TableProperties.SELF_OPTIMIZING_MAX_FILE_CNT_DEFAULT))
.setOpenFileCost(
CompatiblePropertyUtil.propertyAsLong(
properties,
TableProperties.SPLIT_OPEN_FILE_COST,
TableProperties.SPLIT_OPEN_FILE_COST_DEFAULT))
.setTargetSize(
CompatiblePropertyUtil.propertyAsLong(
properties,
TableProperties.SELF_OPTIMIZING_TARGET_SIZE,
TableProperties.SELF_OPTIMIZING_TARGET_SIZE_DEFAULT))
.setMaxTaskSize(
CompatiblePropertyUtil.propertyAsLong(
properties,
TableProperties.SELF_OPTIMIZING_MAX_TASK_SIZE,
TableProperties.SELF_OPTIMIZING_MAX_TASK_SIZE_DEFAULT))
.setTargetQuota(
CompatiblePropertyUtil.propertyAsDouble(
properties,
TableProperties.SELF_OPTIMIZING_QUOTA,
TableProperties.SELF_OPTIMIZING_QUOTA_DEFAULT))
.setMinorLeastFileCount(
CompatiblePropertyUtil.propertyAsInt(
properties,
TableProperties.SELF_OPTIMIZING_MINOR_TRIGGER_FILE_CNT,
TableProperties.SELF_OPTIMIZING_MINOR_TRIGGER_FILE_CNT_DEFAULT))
.setMinorLeastInterval(
CompatiblePropertyUtil.propertyAsInt(
properties,
TableProperties.SELF_OPTIMIZING_MINOR_TRIGGER_INTERVAL,
TableProperties.SELF_OPTIMIZING_MINOR_TRIGGER_INTERVAL_DEFAULT))
.setMajorDuplicateRatio(
CompatiblePropertyUtil.propertyAsDouble(
properties,
TableProperties.SELF_OPTIMIZING_MAJOR_TRIGGER_DUPLICATE_RATIO,
TableProperties.SELF_OPTIMIZING_MAJOR_TRIGGER_DUPLICATE_RATIO_DEFAULT))
.setFullTriggerInterval(
CompatiblePropertyUtil.propertyAsInt(
properties,
TableProperties.SELF_OPTIMIZING_FULL_TRIGGER_INTERVAL,
TableProperties.SELF_OPTIMIZING_FULL_TRIGGER_INTERVAL_DEFAULT))
.setFullRewriteAllFiles(
CompatiblePropertyUtil.propertyAsBoolean(
properties,
TableProperties.SELF_OPTIMIZING_FULL_REWRITE_ALL_FILES,
TableProperties.SELF_OPTIMIZING_FULL_REWRITE_ALL_FILES_DEFAULT))
.setFilter(
CompatiblePropertyUtil.propertyAsString(
properties,
TableProperties.SELF_OPTIMIZING_FILTER,
TableProperties.SELF_OPTIMIZING_FILTER_DEFAULT))
.setBaseHashBucket(
CompatiblePropertyUtil.propertyAsInt(
properties,
TableProperties.BASE_FILE_INDEX_HASH_BUCKET,
TableProperties.BASE_FILE_INDEX_HASH_BUCKET_DEFAULT))
.setBaseRefreshInterval(
PropertyUtil.propertyAsLong(
properties,
TableProperties.BASE_REFRESH_INTERVAL,
TableProperties.BASE_REFRESH_INTERVAL_DEFAULT))
.setHiveRefreshInterval(
PropertyUtil.propertyAsLong(
properties,
HiveTableProperties.REFRESH_HIVE_INTERVAL,
HiveTableProperties.REFRESH_HIVE_INTERVAL_DEFAULT))
.setMinPlanInterval(
PropertyUtil.propertyAsLong(
properties,
TableProperties.SELF_OPTIMIZING_MIN_PLAN_INTERVAL,
TableProperties.SELF_OPTIMIZING_MIN_PLAN_INTERVAL_DEFAULT));
}