/** * @return true if auto-clean is enabled. */ public boolean shouldAutoClean() { return getProperty(HOODIE_ENABLE_AUTO_CLEAN, DEFAULT_HOODIE_ENABLE_AUTO_CLEAN); }
/** * @return expected target file size. Needs to be set if {@link #HOODIE_AUTO_TUNE_PARALLELISM} is enabled. */ public long getTargetFileSize() { return getProperty(HOODIE_TARGET_FILE_SIZE, DEFAULT_HOODIE_TARGET_FILE_SIZE); }
/** * @return hoodie bulk insert parallelism */ public int getBulkInsertParallelism() { return getProperty(HOODIE_BULKINSERT_PARALLELISM, DEFAULT_HOODIE_PARALLELISM); }
/** * @return hoodie insert parallelism */ public int getInsertParallelism() { return getProperty(HOODIE_INSERT_PARALLELISM, DEFAULT_HOODIE_PARALLELISM); }
/** * @return true if {@link com.uber.hoodie.HoodieWriteClient} should rollback inflight commits from previous write * call. */ public boolean shouldRollbackInFlight() { return getProperty(HOODIE_ROLLBACK_INFLIGHT_COMMITS, DEFAULT_HOODIE_ROLLBACK_INFLIGHT_COMMITS); }
/** * @return true if insert parallelism needs to be auto tuned. */ public boolean shouldAutoTuneParallelism() { return getProperty(HOODIE_AUTO_TUNE_PARALLELISM, DEFAULT_AUTO_TUNE_PARALLELISM); }
/** * @return hoodie upsert parallelism */ public int getUpsertParallelism() { return getProperty(HOODIE_UPSERT_PARALLELISM, DEFAULT_HOODIE_PARALLELISM); }
private static <T> void verifyProperty(@NotEmpty final String tableName, @NonNull final HoodieConfiguration hoodieConf, @NonNull final T defaultValue, @NonNull final T defaultPropertyValue, @NonNull final T tableValue) { Object value = hoodieConf.getProperty(HoodieConfiguration.HOODIE_INSERT_SPLIT_SIZE, defaultValue); Assert.assertTrue(value.equals(defaultValue) && value.getClass() == defaultValue.getClass()); hoodieConf.getConf().setProperty( HoodieConfiguration.getDefaultPropertyKey(HoodieConfiguration.HOODIE_INSERT_SPLIT_SIZE), defaultPropertyValue.toString()); value = hoodieConf.getProperty(HoodieConfiguration.HOODIE_INSERT_SPLIT_SIZE, defaultValue); Assert.assertTrue( value.equals(defaultPropertyValue) && value.getClass() == defaultPropertyValue.getClass()); hoodieConf.getConf().setProperty( HoodieConfiguration.getTablePropertyKey(HoodieConfiguration.HOODIE_INSERT_SPLIT_SIZE, tableName), tableValue.toString()); value = hoodieConf.getProperty(HoodieConfiguration.HOODIE_INSERT_SPLIT_SIZE, defaultValue); Assert.assertTrue( value.equals(tableValue) && value.getClass() == tableValue.getClass()); } }
builder.withPath(getBasePath()); final boolean combineBeforeInsert = getProperty(HOODIE_COMBINE_BEFORE_INSERT, DEFAULT_HOODIE_COMBINE_BEFORE_INSERT); final boolean combineBeforeUpsert = getProperty(HOODIE_COMBINE_BEFORE_UPSERT, DEFAULT_HOODIE_COMBINE_BEFORE_UPSERT); builder.combineInput(combineBeforeInsert, combineBeforeUpsert); final String schemaPropertyKey = getTablePropertyKey(HOODIE_AVRO_SCHEMA, this.tableKey); .valueOf(getProperty(HOODIE_CLEANER_POLICY, DEFAULT_HOODIE_CLEANER_POLICY))); compactionConfigBuilder.retainCommits( getProperty(HOODIE_CLEANER_COMMITS_RETAINED, DEFAULT_HOODIE_CLEANER_COMMITS_RETAINED)); compactionConfigBuilder.retainFileVersions( getProperty(HOODIE_CLEANER_VERSIONS_RETAINED, DEFAULT_HOODIE_CLEANER_VERSIONS_RETAINED)); final Integer insertSplitSize = getProperty(HOODIE_INSERT_SPLIT_SIZE, -1); if (insertSplitSize > 0) { compactionConfigBuilder.autoTuneInsertSplits(false); getProperty(HOODIE_COMPACTION_SMALL_FILE_SIZE_LIMIT, DEFAULT_HOODIE_COMPACTION_SMALL_FILE_SIZE_LIMIT)); compactionConfigBuilder.withAutoClean(shouldAutoClean()); final boolean enableMetrics = getProperty(HOODIE_ENABLE_METRICS, DEFAULT_HOODIE_ENABLE_METRICS); if (enableMetrics) { final HoodieMetricsConfig.Builder hoodieMetricsConfigBuilder = HoodieMetricsConfig.newBuilder(); hoodieMetricsConfigBuilder.on(getProperty(HOODIE_ENABLE_METRICS, DEFAULT_HOODIE_ENABLE_METRICS)); builder.withMetricsConfig(hoodieMetricsConfigBuilder.build()); getProperty(HOODIE_WRITE_STATUS_CLASS, DEFAULT_HOODIE_WRITE_STATUS_CLASS);