ORC 文件格式 Impala

ORC fileformat with Impala

可以在Impala中使用ORC文件格式吗?还有如何访问存储在 Impala 的 hive metastore 中的 ORC table。 在文档 link 下方找到,但它不包含任何受限文件格式列表或提及 impala 不支持的 ORC: http://www.cloudera.com/documentation/enterprise/latest/topics/impala_file_formats.html

Impala 不支持 ORC。相反,Apache Parquet 是获得最佳性能的推荐格式。

Impala 无法读取 ORC 文件格式。如果有可能,我建议将您的 ORC 文件迁移到带有 Hive 的 PARQUET。优点是您只需支付一次设置 map-reduce 任务的时间。

如果您的 ORC table 是 nameoforctable,一个非常基本的查询如下所示:

CREATE TABLE nameoforctable_parquet
LIKE nameoforctable
STORED AS PARQUET
LOCATION '/your/hdfs/location';

INSERT INTO nameoforctable_parquet 
SELECT * FROM nameoforctable

尽管 ORC 是 Hive 中唯一支持 ACID 功能的格式,并且在一些基准研究中展示了更好的查询性能和压缩比,Impala 不支持 ORC 文件格式,因为它是由 Hortonworks 创建的,谁是他们的主要竞争对手之一。反之亦然,出于同样的原因,Hortonworks 数据平台 (HDP) 上的 Hive 版本不支持 Parquet。

使用以下命令在impala中创建orc格式table:

create table orc_table_name_1 (x INT, y STRING) STORED AS orc;