This is an automated email from the ASF dual-hosted git repository.
danny0405 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hudi.git
The following commit(s) were added to refs/heads/master by this push:
new 60424c5f998 [MINOR] Added configurations of Hudi table, file-based SQL
source, Hudi error table, and timestamp key generator to configuration listing
(#11057)
60424c5f998 is described below
commit 60424c5f9987f35cc21b0288ac11bd87602ae1c1
Author: Geser Dugarov <[email protected]>
AuthorDate: Sat Apr 20 07:43:37 2024 +0700
[MINOR] Added configurations of Hudi table, file-based SQL source, Hudi
error table, and timestamp key generator to configuration listing (#11057)
---
.../org/apache/hudi/config/HoodieErrorTableConfig.java | 3 ++-
.../org/apache/hudi/common/config/ConfigGroups.java | 4 ++++
.../hudi/common/config/TimestampKeyGeneratorConfig.java | 2 +-
.../org/apache/hudi/common/table/HoodieTableConfig.java | 17 ++++++++++-------
.../hudi/utilities/config/SqlFileBasedSourceConfig.java | 3 ++-
5 files changed, 19 insertions(+), 10 deletions(-)
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieErrorTableConfig.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieErrorTableConfig.java
index 8ba013b00ee..1db8f2c4b5f 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieErrorTableConfig.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/config/HoodieErrorTableConfig.java
@@ -21,6 +21,7 @@ package org.apache.hudi.config;
import org.apache.hudi.common.config.ConfigClassProperty;
import org.apache.hudi.common.config.ConfigGroups;
import org.apache.hudi.common.config.ConfigProperty;
+import org.apache.hudi.common.config.HoodieConfig;
import javax.annotation.concurrent.Immutable;
@@ -30,7 +31,7 @@ import java.util.Arrays;
@ConfigClassProperty(name = "Error table Configs",
groupName = ConfigGroups.Names.WRITE_CLIENT,
description = "Configurations that are required for Error table configs")
-public class HoodieErrorTableConfig {
+public class HoodieErrorTableConfig extends HoodieConfig {
public static final ConfigProperty<Boolean> ERROR_TABLE_ENABLED =
ConfigProperty
.key("hoodie.errortable.enable")
.defaultValue(false)
diff --git
a/hudi-common/src/main/java/org/apache/hudi/common/config/ConfigGroups.java
b/hudi-common/src/main/java/org/apache/hudi/common/config/ConfigGroups.java
index 18d28ab6275..5bab6f9aeb3 100644
--- a/hudi-common/src/main/java/org/apache/hudi/common/config/ConfigGroups.java
+++ b/hudi-common/src/main/java/org/apache/hudi/common/config/ConfigGroups.java
@@ -30,6 +30,7 @@ public class ConfigGroups {
* {@link ConfigGroups#getDescription}.
*/
public enum Names {
+ TABLE_CONFIG("Hudi Table Config"),
ENVIRONMENT_CONFIG("Environment Config"),
SPARK_DATASOURCE("Spark Datasource Configs"),
FLINK_SQL("Flink Sql Configs"),
@@ -98,6 +99,9 @@ public class ConfigGroups {
public static String getDescription(Names names) {
String description;
switch (names) {
+ case TABLE_CONFIG:
+ description = "Basic Hudi Table configuration parameters.";
+ break;
case ENVIRONMENT_CONFIG:
description = "Hudi supports passing configurations via a
configuration file "
+ "`hudi-default.conf` in which each line consists of a key and a
value "
diff --git
a/hudi-common/src/main/java/org/apache/hudi/common/config/TimestampKeyGeneratorConfig.java
b/hudi-common/src/main/java/org/apache/hudi/common/config/TimestampKeyGeneratorConfig.java
index 7098c076279..46b66371b31 100644
---
a/hudi-common/src/main/java/org/apache/hudi/common/config/TimestampKeyGeneratorConfig.java
+++
b/hudi-common/src/main/java/org/apache/hudi/common/config/TimestampKeyGeneratorConfig.java
@@ -31,7 +31,7 @@ import java.util.concurrent.TimeUnit;
+ "the partition field. The field values are interpreted as timestamps
and not just "
+ "converted to string while generating partition path value for
records. Record key is "
+ "same as before where it is chosen by field name.")
-public class TimestampKeyGeneratorConfig {
+public class TimestampKeyGeneratorConfig extends HoodieConfig {
private static final String TIMESTAMP_KEYGEN_CONFIG_PREFIX =
"hoodie.keygen.timebased.";
@Deprecated
private static final String OLD_TIMESTAMP_KEYGEN_CONFIG_PREFIX =
"hoodie.deltastreamer.keygen.timebased.";
diff --git
a/hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableConfig.java
b/hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableConfig.java
index 78ef425a1d6..9cf3e538fd6 100644
---
a/hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableConfig.java
+++
b/hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableConfig.java
@@ -19,6 +19,8 @@
package org.apache.hudi.common.table;
import org.apache.hudi.common.bootstrap.index.HFileBootstrapIndex;
+import org.apache.hudi.common.config.ConfigClassProperty;
+import org.apache.hudi.common.config.ConfigGroups;
import org.apache.hudi.common.config.ConfigProperty;
import org.apache.hudi.common.config.HoodieConfig;
import org.apache.hudi.common.config.OrderedProperties;
@@ -50,6 +52,8 @@ import org.apache.avro.Schema;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import javax.annotation.concurrent.Immutable;
+
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -75,13 +79,12 @@ import static
org.apache.hudi.common.util.ConfigUtils.fetchConfigs;
import static org.apache.hudi.common.util.ConfigUtils.recoverIfNeeded;
import static org.apache.hudi.common.util.StringUtils.getUTF8Bytes;
-/**
- * Configurations on the Hoodie Table like type of ingestion, storage formats,
hive table name etc Configurations are loaded from hoodie.properties, these
properties are usually set during
- * initializing a path as hoodie base path and never changes during the
lifetime of a hoodie table.
- *
- * @see HoodieTableMetaClient
- * @since 0.3.0
- */
+@Immutable
+@ConfigClassProperty(name = "Hudi Table Basic Configs",
+ groupName = ConfigGroups.Names.TABLE_CONFIG,
+ description = "Configurations of the Hudi Table like type of ingestion,
storage formats, hive table name etc."
+ + " Configurations are loaded from hoodie.properties, these properties
are usually set during"
+ + " initializing a path as hoodie base path and never changes during
the lifetime of a hoodie table.")
public class HoodieTableConfig extends HoodieConfig {
private static final Logger LOG =
LoggerFactory.getLogger(HoodieTableConfig.class);
diff --git
a/hudi-utilities/src/main/java/org/apache/hudi/utilities/config/SqlFileBasedSourceConfig.java
b/hudi-utilities/src/main/java/org/apache/hudi/utilities/config/SqlFileBasedSourceConfig.java
index 2eaf64a4a4f..413ba1a3643 100644
---
a/hudi-utilities/src/main/java/org/apache/hudi/utilities/config/SqlFileBasedSourceConfig.java
+++
b/hudi-utilities/src/main/java/org/apache/hudi/utilities/config/SqlFileBasedSourceConfig.java
@@ -22,6 +22,7 @@ package org.apache.hudi.utilities.config;
import org.apache.hudi.common.config.ConfigClassProperty;
import org.apache.hudi.common.config.ConfigGroups;
import org.apache.hudi.common.config.ConfigProperty;
+import org.apache.hudi.common.config.HoodieConfig;
import javax.annotation.concurrent.Immutable;
@@ -33,7 +34,7 @@ import static
org.apache.hudi.common.util.ConfigUtils.STREAMER_CONFIG_PREFIX;
groupName = ConfigGroups.Names.HUDI_STREAMER,
subGroupName = ConfigGroups.SubGroupNames.DELTA_STREAMER_SOURCE,
description = "Configurations controlling the behavior of File-based SQL
Source in Hudi Streamer.")
-public class SqlFileBasedSourceConfig {
+public class SqlFileBasedSourceConfig extends HoodieConfig {
public static final ConfigProperty<String> SOURCE_SQL_FILE = ConfigProperty
.key(STREAMER_CONFIG_PREFIX + "source.sql.file")