使用 Impala 在 HDFS 中查询 Parquet 文件

Posted

技术标签:

【中文标题】使用 Impala 在 HDFS 中查询 Parquet 文件【英文标题】:Querying Parquet file in HDFS using Impala 【发布时间】:2019-06-14 10:01:19 【问题描述】:

我正在尝试使用 Impala 读取镶木地板文件。

impala-shell> SELECT * FROM `/path/in/hdfs/*.parquet`

我知道我可以使用 Spark 或 Drill 做到这一点,但我想知道 Impala 是否可以做到这一点?

谢谢

【问题讨论】:

【参考方案1】:

您需要在 parquet 文件之上创建结构化的 table 以通过 Impala 进行查询。

external table 指向 parquet 目录的一般示例... Cloudera 文档在此处提供所有方法:

https://www.cloudera.com/documentation/enterprise/latest/topics/impala_parquet.html#parquet_ddl

CREATE EXTERNAL TABLE ingest_existing_files LIKE PARQUET '/user/etl/destination/datafile1.dat'
  STORED AS PARQUET
  LOCATION '/user/etl/destination';

【讨论】:

以上是关于使用 Impala 在 HDFS 中查询 Parquet 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何对 hdfs 中的数据进行加密,然后创建 hive 或 impala 表进行查询?

impala 小记

IMPALA-HDFS缓存与IMPALA验证

POC:Cloudera Impala + HDFS + HBase 在单独的集群上

为什么使用Hive和Impala

Cloudera Impala:它如何从 HDFS 块中读取数据?