Skip to content

Commit fdd0c30

Browse files
wuwenchi吴文池
andauthored
[HUDI-4558] lost 'hoodie.table.keygenerator.class' in hoodie.properties (#6320)
Co-authored-by: 吴文池 <wuwenchi@deepexi.com>
1 parent c75e264 commit fdd0c30

2 files changed

Lines changed: 6 additions & 1 deletion

File tree

hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/StreamerUtil.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
import org.apache.hudi.configuration.OptionsResolver;
5555
import org.apache.hudi.exception.HoodieException;
5656
import org.apache.hudi.exception.HoodieIOException;
57+
import org.apache.hudi.keygen.SimpleAvroKeyGenerator;
5758
import org.apache.hudi.schema.FilebasedSchemaProvider;
5859
import org.apache.hudi.sink.transform.ChainedTransformer;
5960
import org.apache.hudi.sink.transform.Transformer;
@@ -315,7 +316,8 @@ public static HoodieTableMetaClient initTableIfNotExists(
315316
.setPreCombineField(OptionsResolver.getPreCombineField(conf))
316317
.setArchiveLogFolder(ARCHIVELOG_FOLDER.defaultValue())
317318
.setPartitionFields(conf.getString(FlinkOptions.PARTITION_PATH_FIELD, null))
318-
.setKeyGeneratorClassProp(conf.getString(FlinkOptions.KEYGEN_CLASS_NAME))
319+
.setKeyGeneratorClassProp(
320+
conf.getOptional(FlinkOptions.KEYGEN_CLASS_NAME).orElse(SimpleAvroKeyGenerator.class.getName()))
319321
.setHiveStylePartitioningEnable(conf.getBoolean(FlinkOptions.HIVE_STYLE_PARTITIONING))
320322
.setUrlEncodePartitioning(conf.getBoolean(FlinkOptions.URL_ENCODE_PARTITIONING))
321323
.setTimelineLayoutVersion(1)

hudi-flink-datasource/hudi-flink/src/test/java/org/apache/hudi/utils/TestStreamerUtil.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.apache.hudi.common.table.view.FileSystemViewStorageType;
2424
import org.apache.hudi.common.util.FileIOUtils;
2525
import org.apache.hudi.configuration.FlinkOptions;
26+
import org.apache.hudi.keygen.SimpleAvroKeyGenerator;
2627
import org.apache.hudi.util.StreamerUtil;
2728
import org.apache.hudi.util.ViewStorageProperties;
2829

@@ -67,6 +68,7 @@ void testInitTableIfNotExists() throws IOException {
6768
"Missing partition columns in the hoodie.properties.");
6869
assertArrayEquals(metaClient1.getTableConfig().getPartitionFields().get(), new String[] {"p0", "p1"});
6970
assertEquals(metaClient1.getTableConfig().getPreCombineField(), "ts");
71+
assertEquals(metaClient1.getTableConfig().getKeyGeneratorClassName(), SimpleAvroKeyGenerator.class.getName());
7072

7173
// Test for non-partitioned table.
7274
conf.removeConfig(FlinkOptions.PARTITION_PATH_FIELD);
@@ -77,6 +79,7 @@ void testInitTableIfNotExists() throws IOException {
7779
.setConf(new org.apache.hadoop.conf.Configuration())
7880
.build();
7981
assertFalse(metaClient2.getTableConfig().getPartitionFields().isPresent());
82+
assertEquals(metaClient2.getTableConfig().getKeyGeneratorClassName(), SimpleAvroKeyGenerator.class.getName());
8083
}
8184

8285
@Test

0 commit comments

Comments
 (0)