我正在使用 Impala (版本2.4.0)运行 CDH 发行版(版本5.6.0)。
我有一些存储在HDFS中的Parquet文件。接下来,我使用以下查询将这些文件加载到Impala外部表中:
create external table parquetTable
like parquet 'hdfs://cloudera-impala-mn0.eastus.cloudapp.azure.com:8020/user/root/big_data/part-r-00015-66cf01ca-ffee-4a62-b2c3-c09177ec4bd7.gz.parquet'
stored as parquet location 'hdfs://cloudera-impala-mn0.eastus.cloudapp.azure.com:8020/user/root/big_data/;
执行以下查询后,所有文件都成功列出:
[cloudera-impala-dn0.eastus.cloudapp.azure.com:21000] > show files in parquettable;
此外,元数据是正确的(通过执行describe parquettable
来检查。)
该表的统计数据是:
[cloudera-impala-dn0.eastus.cloudapp.azure.com:21000] > show table stats parquettable;
行|文件|尺寸|字节缓存|缓存复制|格式|增量统计|位置
-1 | 838 | 249.64GB |没有缓存|没有缓存| PARQUET |假| HDFS://cloudera-impala-mn0.eastus.cloudapp.azure.com:8020 /用户/根/ big_data
执行以下查询:
[cloudera-impala-dn0.eastus.cloudapp.azure.com:21000] > select count(*) from parquettable;
导致以下警告,但没有任何输出结果或错误:
文件'hdfs://cloudera-impala-mn0.eastus.cloudapp.azure.com:8020 / user / root / big_data / part-r-00001-7c29b85c-bd1f-420e-8834-96300076a92d.gz.parquet '的版本号无效:▒.F/ 这可能是由于陈旧的元数据。尝试运行“refresh default.parquettable”。
正在运行refresh default.parquettable
没有任何效果。
任何帮助将不胜感激!
答案 0 :(得分:1)
你的步骤看起来不错。该错误引发了部分-r-00001-7c29b85c-bd1f-420e-8834-96300076a92d.gz.parquet,而在创建表时使用part-r-00015-66cf01ca-ffee-4a62-b2c3-c09177ec4bd7.gz.parquet 。因此看起来部分-r-00001-7c29b85c-bd1f-420e-8834-96300076a92d.gz.parquet存在问题。除了part-r-00015-66cf01ca-ffee-4a62-b2c3-c09177ec4bd7.gz.parquet之外,你能摆脱big_data表中的所有文件吗?