You need to enable JavaScript to run this app.
导航
Hive 中操作 Iceberg 数据
最近更新时间:2025.04.01 20:13:42首次发布时间:2025.04.01 14:31:07
我的收藏
有用
有用
无用
无用

Hive 支持通过内表或外表的方式访问 Iceberg 数据,接下来为您介绍如何使用 LAS 上的 Hive 访问 Iceberg 数据。

操作步骤

  1. 使用 SSH 方式登录到集群节点。
  2. 在集群主机 Linux Bash 中执行如下进入Hive命令行。
hive

也可以采用beeline命令,举例:

beeline -u jdbc:hive2://master-1-1:10000/default -n hive -p <hive用户的密码>
  1. 配置 Iceberg 的 Catalog信息。

Hive 中支持 Iceberg 的 Catalog type 有 Hive、Hadoop,也可以为空。 type 不同,配置项也不同。可参考上文参数配置章节。下面以 Hive 类型为例,创建 Catalog 名称为 Iceberg:

SET iceberg.catalog.iceberg.type=hive;
SET iceberg.catalog.iceberg.uri=thrift://master-1-1:9083;
SET iceberg.catalog.iceberg.clients=10;
  1. 创建表。
CREATE DATABASE IF NOT EXISTS iceberg_db;

CREATE EXTERNAL TABLE iceberg_db.table_a1(i INT, s STRING)
STORED BY 'org.apache.iceberg.mr.hive.HiveIcebergStorageHandler'
TBLPROPERTIES ('iceberg.catalog'='iceberg');
  1. 插入数据。
-- 更改Hive的执行引擎为mrSET hive.execution.engine = mr;
INSERT INTO iceberg_db.table_a1 VALUES(0, 'a');
sql

说明

对于 INSERT 操作,只支持 mr 引擎 。

  1. 查询表。
SELECT * FROM iceberg_db.table_a1;
sql
  1. 删除表。
DROP TABLE IF EXISTS iceberg_db.table_a1;

说明

删除表,也会将表的数据进行删除,但在HDFS上会留存表名的相关空目录。