[HUDI-1879] Fix RO Tables Returning Snapshot Result (#2925)
This commit is contained in:
@@ -23,7 +23,6 @@ import org.apache.hudi.common.model.WriteOperationType
|
||||
import org.apache.hudi.config.HoodieWriteConfig
|
||||
import org.apache.hudi.hive.HiveSyncTool
|
||||
import org.apache.hudi.hive.SlashEncodedDayPartitionValueExtractor
|
||||
import org.apache.hudi.keygen.TimestampBasedAvroKeyGenerator.Config
|
||||
import org.apache.hudi.keygen.{CustomKeyGenerator, SimpleKeyGenerator}
|
||||
import org.apache.hudi.keygen.constant.KeyGeneratorOptions
|
||||
import org.apache.log4j.LogManager
|
||||
|
||||
@@ -437,7 +437,14 @@ object HoodieSparkSqlWriter {
|
||||
DataSourceWriteOptions.DEFAULT_HIVE_SYNC_AS_DATA_SOURCE_TABLE).toBoolean
|
||||
if (syncAsDtaSourceTable) {
|
||||
hiveSyncConfig.tableProperties = parameters.getOrElse(HIVE_TABLE_PROPERTIES, null)
|
||||
hiveSyncConfig.serdeProperties = createSqlTableSerdeProperties(parameters, basePath.toString)
|
||||
val serdePropText = createSqlTableSerdeProperties(parameters, basePath.toString)
|
||||
val serdeProp = ConfigUtils.toMap(serdePropText)
|
||||
serdeProp.put(ConfigUtils.SPARK_QUERY_TYPE_KEY, DataSourceReadOptions.QUERY_TYPE_OPT_KEY)
|
||||
serdeProp.put(ConfigUtils.SPARK_QUERY_AS_RO_KEY, DataSourceReadOptions.QUERY_TYPE_READ_OPTIMIZED_OPT_VAL)
|
||||
serdeProp.put(ConfigUtils.SPARK_QUERY_AS_RT_KEY, DataSourceReadOptions.QUERY_TYPE_SNAPSHOT_OPT_VAL)
|
||||
|
||||
hiveSyncConfig.serdeProperties = ConfigUtils.configToString(serdeProp)
|
||||
|
||||
}
|
||||
hiveSyncConfig
|
||||
}
|
||||
|
||||
@@ -570,8 +570,10 @@ class HoodieSparkSqlWriterSuite extends FunSuite with Matchers {
|
||||
"{\"name\":\"_row_key\",\"type\":\"string\",\"nullable\":false,\"metadata\":{}}," +
|
||||
"{\"name\":\"ts\",\"type\":\"long\",\"nullable\":true,\"metadata\":{}}," +
|
||||
"{\"name\":\"partition\",\"type\":\"string\",\"nullable\":false,\"metadata\":{}}]}")(hiveSyncConfig.tableProperties)
|
||||
|
||||
assertResult("path=/tmp/hoodie_test")(hiveSyncConfig.serdeProperties)
|
||||
assertResult("path=/tmp/hoodie_test\n" +
|
||||
"spark.query.type.key=hoodie.datasource.query.type\n" +
|
||||
"spark.query.as.rt.key=snapshot\n" +
|
||||
"spark.query.as.ro.key=read_optimized")(hiveSyncConfig.serdeProperties)
|
||||
}
|
||||
|
||||
test("Test build sync config for skip Ro Suffix vals") {
|
||||
|
||||
Reference in New Issue
Block a user