From 75068620642f5b97754f43bc312944e376f2f399 Mon Sep 17 00:00:00 2001 From: dujunling Date: Mon, 13 Jun 2022 10:40:10 +0800 Subject: [PATCH] [HUDI-4237] do not store partition colums in hms when create a non-partition hudi table in Spark --- .../spark/sql/catalyst/catalog/HoodieCatalogTable.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/catalyst/catalog/HoodieCatalogTable.scala b/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/catalyst/catalog/HoodieCatalogTable.scala index f1357723200d3..48f32cd2dc0df 100644 --- a/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/catalyst/catalog/HoodieCatalogTable.scala +++ b/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/catalyst/catalog/HoodieCatalogTable.scala @@ -190,12 +190,14 @@ class HoodieCatalogTable(val spark: SparkSession, var table: CatalogTable) exten } else { val (recordName, namespace) = AvroConversionUtils.getAvroRecordNameAndNamespace(table.identifier.table) val schema = SchemaConverters.toAvroType(finalSchema, false, recordName, namespace) + val partitionColumns = if (table.partitionColumnNames.isEmpty) null else table.partitionColumnNames.mkString(",") + HoodieTableMetaClient.withPropertyBuilder() .fromProperties(properties) .setDatabaseName(catalogDatabaseName) .setTableName(table.identifier.table) .setTableCreateSchema(schema.toString()) - .setPartitionFields(table.partitionColumnNames.mkString(",")) + .setPartitionFields(partitionColumns) .initTable(hadoopConf, tableLocation) } }