集成

Impala

师成师成· 更新于 2026-09-28· 阅读 3 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

从 4.2.0 版本开始,Apache Impala 提供了对存储在 Apache Ozone 中的数据的完整查询支持。要使用此功能,请确保 Ozone 版本为 1.4.0 或更高。

支持的访问协议

Impala 支持以下协议来访问 Ozone 数据:

  • ofs
  • s3a

注意:Impala 不支持 o3fs 协议。

支持的副本类型

Impala 兼容配置了以下任一方式的 Ozone 存储桶:

  • RATIS(副本机制)
  • 纠删码

使用 Impala 查询 Ozone 数据

Impala 提供了两种与 Ozone 交互的方式:

  • 托管表(Managed Tables)
  • 外部表(External Tables)

托管表

如果 Hive 数 warehouse 目录位于 Ozone 中,你可以直接执行 Impala 查询而无需任何更改,就像把 Ozone 文件系统当作 HDFS 一样使用。例如:

CREATE DATABASE d1;
CREATE TABLE t1 (x INT, s STRING);

数据将存储在 Ozone 中的 Hive 数据仓库目录路径下。

指定自定义 Ozone 路径

你可以使用 LOCATION 子句在指定的 Ozone 路径下创建受管数据库、表或分区。示例:

CREATE DATABASE d1 LOCATION 'ofs://ozone1/vol1/bucket1/d1.db';
CREATE TABLE t1 LOCATION 'ofs://ozone1/vol1/bucket1/table1';

外部表

你可以在 Impala 中创建外部表来查询 Ozone 数据。例如:

CREATE EXTERNAL TABLE external_table (
  id INT,
  name STRING
)
LOCATION 'ofs://ozone1/vol1/bucket1/table1';
  • 对于外部表,数据应由其他工具创建和管理。
  • Impala 按原样查询数据。
  • 元数据存储在外部仓库目录下。
  • 注意:在 Impala 中删除外部表不会删除相关联的数据。

使用 S3A 协议

除了 ofs 之外,Impala 还可以通过 S3 网关使用 S3A 文件系统访问 Ozone。有关更多详细信息,请参阅

如需更多信息,请查阅 Apache Impala 用户文档 在 Apache Ozone 存储上使用 Impala。

评论

登录后参与评论

正在加载评论…