Cloudera Impala:文件的版本号无效。这可能是由于元数据过时
Posted
技术标签:
【中文标题】Cloudera Impala:文件的版本号无效。这可能是由于元数据过时【英文标题】:Cloudera Impala: File has an invalid version number. This could be due to stale metadata 【发布时间】:2016-04-08 12:46:41 【问题描述】:我正在使用 Impala(版本 2.4.0)运行 CDH 发行版(版本 5.6.0)。
我有一些 Parquet 文件存储在 HDFS 中。接下来,我使用以下查询将这些文件加载到 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 |未缓存 |未缓存 |实木复合地板 |假 | 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,但没有任何输出结果或错误:
文件'hdfs://cloudera-impala-mn0.eastus.cloudapp.azure.com:8020/user/root/big_data/part-r-00001-7c29b85c-bd1f-420e-8834-96300076a92d.gz.parquet ' 的版本号无效:▒.F/ 这可能是由于元数据过时造成的。尝试运行“刷新 default.parquettable”。
运行refresh default.parquettable
没有任何效果。
任何帮助将不胜感激!
【问题讨论】:
您可以尝试在 impala shell 中运行“invalidate metadata”命令并再次尝试查询吗? @Lan 我也试过了,但还是没有成功。警告信息保持不变,没有输出。 如何创建基于镶木地板的桌子? @Lan 我更新了问题描述以包含表创建查询。 您的步骤看起来不错。现在,当您在创建桌子。那么part-r-00001-7c29b85c-bd1f-420e-8834-96300076a92d.gz.parquet 中的问题是什么?除了part-r-00015-66cf01ca-ffee-4a62-b2c3-c09177ec4bd7.gz.parquet 之外,你能去掉 big_data 表中的所有文件吗? 【参考方案1】:您的步骤看起来不错。该错误抱怨 part-r-00001-7c29b85c-bd1f-420e-8834-96300076a92d.gz.parquet,而您在创建表时使用 part-r-00015-66cf01ca-ffee-4a62-b2c3-c09177ec4bd7.gz.parquet .所以看起来part-r-00001-7c29b85c-bd1f-420e-8834-96300076a92d.gz.parquet有问题。你能去掉 big_data 表中除了 part-r-00015-66cf01ca-ffee-4a62-b2c3-c09177ec4bd7.gz.parquet 之外的所有文件吗?
【讨论】:
公认的答案如何?它应该是一个评论,因为它只是提出一个问题,根本不提供任何解决方案。以上是关于Cloudera Impala:文件的版本号无效。这可能是由于元数据过时的主要内容,如果未能解决你的问题,请参考以下文章
如何在cloudera manager 6.3中配置'‑‑enable_orc_scanner',我的impala版本是3.2
ETL informatica 大数据版(不是云版)可以连接到 Cloudera Impala 吗?