我已经用impala创建了一个表,它使用了一个s3位置和一个分区,但是在查询时没有数据填充。我怎样才能克服这个问题?
create table t(id int, name string) partitioned by (year int) stored as avaro location 's3a://impala-/dir1/';
rkttyhzu1#
似乎要使用外部表:默认情况下,impala创建一个“内部”表,impala在其中管理表的基础数据文件,并在删除表时从物理上删除数据文件。如果您指定 EXTERNAL 子句中,impala将该表视为“外部”表,其中数据文件通常在impala外部生成,并从hdfs中的原始位置进行查询,当您删除该表时,impala将数据文件保留在原位。因此,请尝试以下方法:
EXTERNAL
CREATE EXTERNAL TABLE t(id int, name string) partitioned by (year int) STORED AS avro LOCATION 's3a://impala-/dir1/';
1条答案
按热度按时间rkttyhzu1#
似乎要使用外部表:
默认情况下,impala创建一个“内部”表,impala在其中管理表的基础数据文件,并在删除表时从物理上删除数据文件。如果您指定
EXTERNAL
子句中,impala将该表视为“外部”表,其中数据文件通常在impala外部生成,并从hdfs中的原始位置进行查询,当您删除该表时,impala将数据文件保留在原位。因此,请尝试以下方法: