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 398c9a23c84 [HUDI-7564] Revert hive sync inconsistency and reason for
it (#10959)
398c9a23c84 is described below
commit 398c9a23c84a54aecfea8e6c7948f198785710c5
Author: voonhous <[email protected]>
AuthorDate: Thu Apr 4 08:41:39 2024 +0800
[HUDI-7564] Revert hive sync inconsistency and reason for it (#10959)
---
.../main/scala/org/apache/spark/sql/hudi/ProvidesHoodieConfig.scala | 4 +++-
.../src/main/java/org/apache/hudi/hive/HiveSyncConfigHolder.java | 3 ++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git
a/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/ProvidesHoodieConfig.scala
b/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/ProvidesHoodieConfig.scala
index 734afd79252..dbac496022f 100644
---
a/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/ProvidesHoodieConfig.scala
+++
b/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/ProvidesHoodieConfig.scala
@@ -480,7 +480,9 @@ trait ProvidesHoodieConfig extends Logging {
hiveSyncConfig.setValue(HoodieSyncConfig.META_SYNC_PARTITION_FIELDS,
props.getString(HoodieSyncConfig.META_SYNC_PARTITION_FIELDS.key))
}
hiveSyncConfig.setDefaultValue(HoodieSyncConfig.META_SYNC_PARTITION_EXTRACTOR_CLASS,
classOf[MultiPartKeysValueExtractor].getName)
-
hiveSyncConfig.setDefaultValue(HiveSyncConfigHolder.HIVE_SUPPORT_TIMESTAMP_TYPE,
HiveSyncConfigHolder.HIVE_SUPPORT_TIMESTAMP_TYPE.defaultValue())
+ // This is hardcoded to true to ensure consistency as Spark syncs
TIMESTAMP types as TIMESTAMP by default
+ // via Spark's externalCatalog API, which is used by
AlterHoodieTableCommand.
+
hiveSyncConfig.setDefaultValue(HiveSyncConfigHolder.HIVE_SUPPORT_TIMESTAMP_TYPE,
"true")
if (hiveSyncConfig.useBucketSync())
hiveSyncConfig.setValue(HiveSyncConfigHolder.HIVE_SYNC_BUCKET_SYNC_SPEC,
HiveSyncConfig.getBucketSpec(props.getString(HoodieIndexConfig.BUCKET_INDEX_HASH_FIELD.key),
diff --git
a/hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncConfigHolder.java
b/hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncConfigHolder.java
index 74cb90de020..8f31cae29bc 100644
---
a/hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncConfigHolder.java
+++
b/hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncConfigHolder.java
@@ -90,7 +90,8 @@ public class HiveSyncConfigHolder {
.defaultValue("false")
.markAdvanced()
.withDocumentation("‘INT64’ with original type TIMESTAMP_MICROS is
converted to hive ‘timestamp’ type. "
- + "Disabled by default for backward compatibility.");
+ + "Disabled by default for backward compatibility. \n"
+ + "NOTE: On Spark entrypoints, this is defaulted to TRUE");
public static final ConfigProperty<String> HIVE_TABLE_PROPERTIES =
ConfigProperty
.key("hoodie.datasource.hive_sync.table_properties")
.noDefaultValue()