[HUDI-3100] Add config for hive conditional sync (#4440)
This commit is contained in:
@@ -307,6 +307,8 @@ public class DataSourceUtils {
|
|||||||
DataSourceWriteOptions.HIVE_SKIP_RO_SUFFIX_FOR_READ_OPTIMIZED_TABLE().defaultValue()));
|
DataSourceWriteOptions.HIVE_SKIP_RO_SUFFIX_FOR_READ_OPTIMIZED_TABLE().defaultValue()));
|
||||||
hiveSyncConfig.supportTimestamp = Boolean.valueOf(props.getString(DataSourceWriteOptions.HIVE_SUPPORT_TIMESTAMP_TYPE().key(),
|
hiveSyncConfig.supportTimestamp = Boolean.valueOf(props.getString(DataSourceWriteOptions.HIVE_SUPPORT_TIMESTAMP_TYPE().key(),
|
||||||
DataSourceWriteOptions.HIVE_SUPPORT_TIMESTAMP_TYPE().defaultValue()));
|
DataSourceWriteOptions.HIVE_SUPPORT_TIMESTAMP_TYPE().defaultValue()));
|
||||||
|
hiveSyncConfig.isConditionalSync = Boolean.valueOf(props.getString(DataSourceWriteOptions.HIVE_CONDITIONAL_SYNC().key(),
|
||||||
|
DataSourceWriteOptions.HIVE_CONDITIONAL_SYNC().defaultValue()));
|
||||||
hiveSyncConfig.bucketSpec = props.getBoolean(DataSourceWriteOptions.HIVE_SYNC_BUCKET_SYNC().key(),
|
hiveSyncConfig.bucketSpec = props.getBoolean(DataSourceWriteOptions.HIVE_SYNC_BUCKET_SYNC().key(),
|
||||||
(boolean) DataSourceWriteOptions.HIVE_SYNC_BUCKET_SYNC().defaultValue())
|
(boolean) DataSourceWriteOptions.HIVE_SYNC_BUCKET_SYNC().defaultValue())
|
||||||
? HiveSyncConfig.getBucketSpec(props.getString(HoodieIndexConfig.BUCKET_INDEX_HASH_FIELD.key()),
|
? HiveSyncConfig.getBucketSpec(props.getString(HoodieIndexConfig.BUCKET_INDEX_HASH_FIELD.key()),
|
||||||
|
|||||||
@@ -495,6 +495,16 @@ object DataSourceWriteOptions {
|
|||||||
.withDocumentation("‘INT64’ with original type TIMESTAMP_MICROS is converted to hive ‘timestamp’ type. " +
|
.withDocumentation("‘INT64’ with original type TIMESTAMP_MICROS is converted to hive ‘timestamp’ type. " +
|
||||||
"Disabled by default for backward compatibility.")
|
"Disabled by default for backward compatibility.")
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Flag to indicate whether to use conditional syncing in HiveSync.
|
||||||
|
* If set true, the Hive sync procedure will only run if partition or schema changes are detected.
|
||||||
|
* By default true.
|
||||||
|
*/
|
||||||
|
val HIVE_CONDITIONAL_SYNC: ConfigProperty[String] = ConfigProperty
|
||||||
|
.key("hoodie.datasource.hive_sync.conditional_sync")
|
||||||
|
.defaultValue("false")
|
||||||
|
.withDocumentation("Enables conditional hive sync, where partition or schema change must exist to perform sync to hive.")
|
||||||
|
|
||||||
val HIVE_TABLE_PROPERTIES: ConfigProperty[String] = ConfigProperty
|
val HIVE_TABLE_PROPERTIES: ConfigProperty[String] = ConfigProperty
|
||||||
.key("hoodie.datasource.hive_sync.table_properties")
|
.key("hoodie.datasource.hive_sync.table_properties")
|
||||||
.noDefaultValue()
|
.noDefaultValue()
|
||||||
|
|||||||
Reference in New Issue
Block a user