[HUDI-3730] Keep metasync configs backward compatible (#6221)
This commit is contained in:
@@ -37,9 +37,9 @@ import java.util.Properties;
|
|||||||
*
|
*
|
||||||
* @Experimental
|
* @Experimental
|
||||||
*/
|
*/
|
||||||
public class AWSGlueCatalogSyncTool extends HiveSyncTool {
|
public class AwsGlueCatalogSyncTool extends HiveSyncTool {
|
||||||
|
|
||||||
public AWSGlueCatalogSyncTool(Properties props, Configuration hadoopConf) {
|
public AwsGlueCatalogSyncTool(Properties props, Configuration hadoopConf) {
|
||||||
super(props, hadoopConf);
|
super(props, hadoopConf);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,6 +56,6 @@ public class AWSGlueCatalogSyncTool extends HiveSyncTool {
|
|||||||
cmd.usage();
|
cmd.usage();
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
}
|
}
|
||||||
new AWSGlueCatalogSyncTool(params.toProps(), new Configuration()).syncHoodieTable();
|
new AwsGlueCatalogSyncTool(params.toProps(), new Configuration()).syncHoodieTable();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
package org.apache.hudi.sink.utils;
|
package org.apache.hudi.sink.utils;
|
||||||
|
|
||||||
import org.apache.hudi.aws.sync.AWSGlueCatalogSyncTool;
|
import org.apache.hudi.aws.sync.AwsGlueCatalogSyncTool;
|
||||||
import org.apache.hudi.common.config.SerializableConfiguration;
|
import org.apache.hudi.common.config.SerializableConfiguration;
|
||||||
import org.apache.hudi.common.config.TypedProperties;
|
import org.apache.hudi.common.config.TypedProperties;
|
||||||
import org.apache.hudi.configuration.FlinkOptions;
|
import org.apache.hudi.configuration.FlinkOptions;
|
||||||
@@ -74,7 +74,7 @@ public class HiveSyncContext {
|
|||||||
public HiveSyncTool hiveSyncTool() {
|
public HiveSyncTool hiveSyncTool() {
|
||||||
HiveSyncMode syncMode = HiveSyncMode.of(props.getProperty(HIVE_SYNC_MODE.key()));
|
HiveSyncMode syncMode = HiveSyncMode.of(props.getProperty(HIVE_SYNC_MODE.key()));
|
||||||
if (syncMode == HiveSyncMode.GLUE) {
|
if (syncMode == HiveSyncMode.GLUE) {
|
||||||
return new AWSGlueCatalogSyncTool(props, hiveConf);
|
return new AwsGlueCatalogSyncTool(props, hiveConf);
|
||||||
}
|
}
|
||||||
return new HiveSyncTool(props, hiveConf);
|
return new HiveSyncTool(props, hiveConf);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
package org.apache.hudi.hive;
|
package org.apache.hudi.hive;
|
||||||
|
|
||||||
|
import org.apache.hudi.common.config.ConfigProperty;
|
||||||
import org.apache.hudi.common.config.TypedProperties;
|
import org.apache.hudi.common.config.TypedProperties;
|
||||||
import org.apache.hudi.sync.common.HoodieSyncConfig;
|
import org.apache.hudi.sync.common.HoodieSyncConfig;
|
||||||
|
|
||||||
@@ -28,32 +29,40 @@ import org.apache.hadoop.hive.conf.HiveConf;
|
|||||||
|
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_AUTO_CREATE_DATABASE;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_BATCH_SYNC_PARTITION_NUM;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_CREATE_MANAGED_TABLE;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_IGNORE_EXCEPTIONS;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_PASS;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_SKIP_RO_SUFFIX_FOR_READ_OPTIMIZED_TABLE;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_SUPPORT_TIMESTAMP_TYPE;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_SYNC_AS_DATA_SOURCE_TABLE;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_SYNC_BUCKET_SYNC;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_SYNC_BUCKET_SYNC_SPEC;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_SYNC_COMMENT;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_SYNC_MODE;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_SYNC_SCHEMA_STRING_LENGTH_THRESHOLD;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_TABLE_PROPERTIES;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_TABLE_SERDE_PROPERTIES;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_URL;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_USER;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_USE_JDBC;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.HIVE_USE_PRE_APACHE_INPUT_FORMAT;
|
|
||||||
import static org.apache.hudi.hive.HiveSyncConfigHolder.METASTORE_URIS;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configs needed to sync data into the Hive Metastore.
|
* Configs needed to sync data into the Hive Metastore.
|
||||||
*/
|
*/
|
||||||
public class HiveSyncConfig extends HoodieSyncConfig {
|
public class HiveSyncConfig extends HoodieSyncConfig {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Config constants below are retained here for BWC purpose.
|
||||||
|
*/
|
||||||
|
public static final ConfigProperty<String> HIVE_SYNC_ENABLED = HiveSyncConfigHolder.HIVE_SYNC_ENABLED;
|
||||||
|
public static final ConfigProperty<String> HIVE_USER = HiveSyncConfigHolder.HIVE_USER;
|
||||||
|
public static final ConfigProperty<String> HIVE_PASS = HiveSyncConfigHolder.HIVE_PASS;
|
||||||
|
public static final ConfigProperty<String> HIVE_URL = HiveSyncConfigHolder.HIVE_URL;
|
||||||
|
public static final ConfigProperty<String> HIVE_USE_PRE_APACHE_INPUT_FORMAT = HiveSyncConfigHolder.HIVE_USE_PRE_APACHE_INPUT_FORMAT;
|
||||||
|
/**
|
||||||
|
* @deprecated Use {@link #HIVE_SYNC_MODE} instead of this config from 0.9.0
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public static final ConfigProperty<String> HIVE_USE_JDBC = HiveSyncConfigHolder.HIVE_USE_JDBC;
|
||||||
|
public static final ConfigProperty<String> METASTORE_URIS = HiveSyncConfigHolder.METASTORE_URIS;
|
||||||
|
public static final ConfigProperty<String> HIVE_AUTO_CREATE_DATABASE = HiveSyncConfigHolder.HIVE_AUTO_CREATE_DATABASE;
|
||||||
|
public static final ConfigProperty<String> HIVE_IGNORE_EXCEPTIONS = HiveSyncConfigHolder.HIVE_IGNORE_EXCEPTIONS;
|
||||||
|
public static final ConfigProperty<String> HIVE_SKIP_RO_SUFFIX_FOR_READ_OPTIMIZED_TABLE = HiveSyncConfigHolder.HIVE_SKIP_RO_SUFFIX_FOR_READ_OPTIMIZED_TABLE;
|
||||||
|
public static final ConfigProperty<String> HIVE_SUPPORT_TIMESTAMP_TYPE = HiveSyncConfigHolder.HIVE_SUPPORT_TIMESTAMP_TYPE;
|
||||||
|
public static final ConfigProperty<String> HIVE_TABLE_PROPERTIES = HiveSyncConfigHolder.HIVE_TABLE_PROPERTIES;
|
||||||
|
public static final ConfigProperty<String> HIVE_TABLE_SERDE_PROPERTIES = HiveSyncConfigHolder.HIVE_TABLE_SERDE_PROPERTIES;
|
||||||
|
public static final ConfigProperty<String> HIVE_SYNC_AS_DATA_SOURCE_TABLE = HiveSyncConfigHolder.HIVE_SYNC_AS_DATA_SOURCE_TABLE;
|
||||||
|
public static final ConfigProperty<Integer> HIVE_SYNC_SCHEMA_STRING_LENGTH_THRESHOLD = HiveSyncConfigHolder.HIVE_SYNC_SCHEMA_STRING_LENGTH_THRESHOLD;
|
||||||
|
public static final ConfigProperty<Boolean> HIVE_CREATE_MANAGED_TABLE = HiveSyncConfigHolder.HIVE_CREATE_MANAGED_TABLE;
|
||||||
|
public static final ConfigProperty<Integer> HIVE_BATCH_SYNC_PARTITION_NUM = HiveSyncConfigHolder.HIVE_BATCH_SYNC_PARTITION_NUM;
|
||||||
|
public static final ConfigProperty<String> HIVE_SYNC_MODE = HiveSyncConfigHolder.HIVE_SYNC_MODE;
|
||||||
|
public static final ConfigProperty<Boolean> HIVE_SYNC_BUCKET_SYNC = HiveSyncConfigHolder.HIVE_SYNC_BUCKET_SYNC;
|
||||||
|
public static final ConfigProperty<String> HIVE_SYNC_BUCKET_SYNC_SPEC = HiveSyncConfigHolder.HIVE_SYNC_BUCKET_SYNC_SPEC;
|
||||||
|
public static final ConfigProperty<String> HIVE_SYNC_COMMENT = HiveSyncConfigHolder.HIVE_SYNC_COMMENT;
|
||||||
|
|
||||||
public static String getBucketSpec(String bucketCols, int bucketNum) {
|
public static String getBucketSpec(String bucketCols, int bucketNum) {
|
||||||
return "CLUSTERED BY (" + bucketCols + " INTO " + bucketNum + " BUCKETS";
|
return "CLUSTERED BY (" + bucketCols + " INTO " + bucketNum + " BUCKETS";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -279,7 +279,7 @@
|
|||||||
<artifactId>hudi-aws</artifactId>
|
<artifactId>hudi-aws</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- Need parquet and avro to run AWSGlueCatalogSyncTool using run_sync_tool with this bundle.
|
<!-- Need parquet and avro to run AwsGlueCatalogSyncTool using run_sync_tool with this bundle.
|
||||||
Parquet and avro from other packages have already been shaded above-->
|
Parquet and avro from other packages have already been shaded above-->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.parquet</groupId>
|
<groupId>org.apache.parquet</groupId>
|
||||||
|
|||||||
Reference in New Issue
Block a user