单元单元外部表不显示任何数据,即使存在与之关联的镶木地板文件



我创建了一个外部配置单元表,其分区如下-

CREATE EXTERNAL TABLE IF NOT EXISTS engine_power( 
engine_company              string,
engine_model_name           string,
power_timestamp             timestamp,
rotor_efficiency            float,
rotor_power         float,
rotor_speed             float) 
PARTITIONED BY (year int, month int, day int) STORED AS PARQUET 
location '/powerCalculation' ;

之后,我在pyspark中执行一些计算,然后将最终的数据帧写入下面的拼花文件-

df.write.partitionBy('year','month','day').parquet("/powerCalculation",mode='append')

它在所述位置创建镶木地板文件,其中包含年、月和日的新文件夹,但当我查询表时,它没有显示任何数据,select * from engine_power也没有返回任何行。它只是给出没有数据的列。在搜索了各种文章后,如果我发布声明

MSCK REPAIR TABLE engine_power;

我正在获取更新的行。每次将数据写入分区表时,是否需要提供此项?有没有其他方式可以自动进行更新?

没有自动刷新分区的选项,我使用的方法是在创建每日拼花地板文件的作业成功运行后,将额外的Hive操作定义为Oozie工作流的一部分。

相关内容

最新更新