Hive 配置单元外部表不显示任何数据,即使与之关联的拼花地板文件存在

Hive 配置单元外部表不显示任何数据,即使与之关联的拼花地板文件存在,hive,pyspark,hiveql,Hive,Pyspark,Hiveql,我已经创建了一个带有如下分区的外部配置单元表- CREATE EXTERNAL TABLE IF NOT EXISTS engine_power( engine_company string, engine_model_name string, power_timestamp timestamp, rotor_efficiency float, rotor_power float, ro

我已经创建了一个带有如下分区的外部配置单元表-

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\u power
没有返回任何行。它只是给出没有数据的列。在搜索了各种文章后,如果我发表声明

MSCK REPAIR TABLE engine_power;

我正在获取更新的行。是否每次我将数据写入分区表时都需要给出这个值?是否有其他方法可以自动进行此更新?

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

因此,我想我必须在每次创建新拼花文件时(不是单个文件,而是在创建新分区文件夹时)运行MSCK修复语句。通常,每小时或每天以增量方式创建拼花地板文件。