我有一个配置单元表,它有数据,它在一个基于年份的分区列上分区。现在数据每天都被加载到这个配置单元表中。我没有选择做每日msck修复。我的分区是按年份划分的。所以,如果没有添加新分区,我需要在每日加载后进行msck修复。我试过了
val data = Seq(Row("1","2020-05-11 15:17:57.188","2020"))
val schemaOrig = List( StructField("key",StringType,true)
,StructField("txn_ts",StringType,true)
,StructField("txn_dt",StringType,true))
val sourceDf = spark.createDataFrame(spark.sparkContext.parallelize(data),StructType(schemaOrig))
sourceDf.write.mode("overwrite").partitionBy("txn_dt").avro("/test_a")
配置单元外部表
create external table test_a(
key string,
txn_ts string
)
partitioned by (txn_dt string)
stored as avro
location '/test_a';
msck repair table test_a;
select * from test_a;
1条答案
按热度按时间nle07wnf1#