【发布时间】:2023-04-01 02:11:02
【问题描述】:
我正在使用 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 表中的所有文件吗?
标签: azure cloudera cloudera-cdh impala parquet