Cloudera Impala: 文件的版本号无效。这可能是由于过时的元数据

Cloudera Impala: File has an invalid version number. This could be due to stale metadata

我是 运行 CDH 发行版(版本 5.6.0)和 Impala(版本 2.4 .0).

我有一些 Parquet 文件存储在 HDFS 中。接下来,我使用以下查询将这些文件加载​​到 Impala 外部 table 中:

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 检查)。

table 的数据是:

[cloudera-impala-dn0.eastus.cloudapp.azure.com:21000] > show table stats parquettable;

Rows | Files | Size | Bytes Cached | Cache Replication | Format | Incremental stats | Location

-1 | 838 | 249.64GB | NOT CACHED | NOT CACHED | PARQUET | false | hdfs://cloudera-impala-mn0.eastus.cloudapp.azure.com:8020/user/root/big_data

正在执行以下查询:

[cloudera-impala-dn0.eastus.cloudapp.azure.com:21000] > select count(*) from parquettable;

结果如下 WARNING,但没有任何输出结果或错误:

File 'hdfs://cloudera-impala-mn0.eastus.cloudapp.azure.com:8020/user/root/big_data/part-r-00001-7c29b85c-bd1f-420e-8834-96300076a92d.gz.parquet' has an invalid version number: ▒.F/ This could be due to stale metadata. Try running "refresh default.parquettable".

运行 refresh default.parquettable 没有任何效果。

任何帮助将不胜感激!

你的脚步看起来不错。当您在创建 table。所以看起来part-r-00001-7c29b85c-bd1f-420e-8834-96300076a92d.gz.parquet有问题。除了 part-r-00015-66cf01ca-ffee-4a62-b2c3-c09177ec4bd7.gz.parquet 之外,你能去掉 big_data table 中的所有文件吗?