[HUDI-4195] Bulk insert should use right keygen for non-partitioned table (#5759)
This commit is contained in:
@@ -22,9 +22,9 @@ import org.apache.hudi.common.config.TypedProperties;
|
|||||||
import org.apache.hudi.common.model.HoodieRecord;
|
import org.apache.hudi.common.model.HoodieRecord;
|
||||||
import org.apache.hudi.common.util.ReflectionUtils;
|
import org.apache.hudi.common.util.ReflectionUtils;
|
||||||
import org.apache.hudi.config.HoodieWriteConfig;
|
import org.apache.hudi.config.HoodieWriteConfig;
|
||||||
import org.apache.hudi.hive.NonPartitionedExtractor;
|
|
||||||
import org.apache.hudi.keygen.BuiltinKeyGenerator;
|
import org.apache.hudi.keygen.BuiltinKeyGenerator;
|
||||||
import org.apache.hudi.keygen.ComplexKeyGenerator;
|
import org.apache.hudi.keygen.ComplexKeyGenerator;
|
||||||
|
import org.apache.hudi.keygen.NonpartitionedKeyGenerator;
|
||||||
import org.apache.hudi.keygen.SimpleKeyGenerator;
|
import org.apache.hudi.keygen.SimpleKeyGenerator;
|
||||||
import org.apache.hudi.keygen.constant.KeyGeneratorOptions;
|
import org.apache.hudi.keygen.constant.KeyGeneratorOptions;
|
||||||
import org.apache.hudi.table.BulkInsertPartitioner;
|
import org.apache.hudi.table.BulkInsertPartitioner;
|
||||||
@@ -87,7 +87,7 @@ public class HoodieDatasetBulkInsertHelper {
|
|||||||
BuiltinKeyGenerator keyGenerator = (BuiltinKeyGenerator) ReflectionUtils.loadClass(keyGeneratorClass, properties);
|
BuiltinKeyGenerator keyGenerator = (BuiltinKeyGenerator) ReflectionUtils.loadClass(keyGeneratorClass, properties);
|
||||||
|
|
||||||
Dataset<Row> rowDatasetWithRecordKeysAndPartitionPath;
|
Dataset<Row> rowDatasetWithRecordKeysAndPartitionPath;
|
||||||
if (keyGeneratorClass.equals(NonPartitionedExtractor.class.getName())) {
|
if (keyGeneratorClass.equals(NonpartitionedKeyGenerator.class.getName())) {
|
||||||
// for non partitioned, set partition path to empty.
|
// for non partitioned, set partition path to empty.
|
||||||
rowDatasetWithRecordKeysAndPartitionPath = rows.withColumn(HoodieRecord.RECORD_KEY_METADATA_FIELD, functions.col(recordKeyFields))
|
rowDatasetWithRecordKeysAndPartitionPath = rows.withColumn(HoodieRecord.RECORD_KEY_METADATA_FIELD, functions.col(recordKeyFields))
|
||||||
.withColumn(HoodieRecord.PARTITION_PATH_METADATA_FIELD, functions.lit("").cast(DataTypes.StringType));
|
.withColumn(HoodieRecord.PARTITION_PATH_METADATA_FIELD, functions.lit("").cast(DataTypes.StringType));
|
||||||
|
|||||||
Reference in New Issue
Block a user