文档中心>流计算 Oceanus>SQL 开发指南>同时引用多个外部 Catalog

同时引用多个外部 Catalog

最近更新时间:2026-05-29 15:47:36

我的收藏
注意:
只有9.27版本及以后的集群支持一个作业同时使用多个外部 Catalog。如果您的集群版本不能使用该功能,可以联系我们给您升级集群。

适用场景

适用于一个作业需要同时引用多个外部 Catalog 的场景,但是由于多个 Hive/HDFS 配置文件会产生冲突,所以不支持同时使用多个需要这个配置文件支持的 Catalog (例如:Hive Catalog 、 Paimon(hive) Catalog)。

使用方法

创建外部 Catalog 的方法可以参考库表管理
SQL 作业使用多 Catalog 可以参考下面代码:

-- 1. 定义Paimon目的表
CREATE TABLE IF NOT EXISTS `116-paimon-sink1`.`default`.`HiveSink` (
id INT PRIMARY KEY NOT ENFORCED, -- Paimon需要主键,id作为主键
name STRING
) WITH (
);
-- 2. 定义Hive源表
CREATE TABLE IF NOT EXISTS `hive116-1`.`default`.`source` (
id INT,
name STRING,
dt STRING,
hr STRING
) PARTITIONED BY (dt, hr)
WITH
'connector' = 'hive',
'hive-version' = '3.1.1',
'hive-database' = 'default',
'partition.time-extractor.timestamp-pattern'='$dt $hr:00:00',
'sink.partition-commit.trigger'='partition-time',
'sink.partition-commit.delay'='10 min',
'sink.partition-commit.policy.kind'='metastore,success-file'
);


INSERT INTO `116-paimon-sink1`.`default`.`HiveSink`
SELECT
id,
`name`
FROM `hive116-1`.`default`.`source`;