Only the Chinese version of this page is provided currently. The English version will be provided soon.

Doris外表查询

Last updated: 2026-04-16 11:28:52

概述

Setats 支持通过 Doris 外表方式进行 OLAP 查询。用户可以在 Doris 中创建 Setats Catalog,直接访问 Setats 表的列存数据,用于即席分析、报表查询和离线聚合等场景。

前提条件

已创建 Setats 集群并完成 Warehouse 配置。
已部署 Doris 集群。
若使用 Hive Catalog 或元数据加速桶,Doris 还需要访问 Hive Metastore。
若底层存储启用了 Kerberos / CHDFS / COS 加速桶,需要提前准备对应配置文件和认证信息。

场景一:HDFS / Hadoop Catalog

如果 Setats 使用 Hadoop Catalog 或基于 HDFS 的元数据管理,可参考以下方式创建 Catalog:
CREATE CATALOG setats COMMENT 'setats catalog' PROPERTIES (
'type' = 'setats',
'setats.catalog.type' = 'hadoop',
'warehouse' = 'hdfs://<nameservice>/usr/setats',
'dfs.nameservices' = '<nameservice>',
'dfs.ha.namenodes.<nameservice>' = 'nn1,nn2',
'dfs.namenode.rpc-address.<nameservice>.nn1' = '<nn1-host>:4007',
'dfs.namenode.rpc-address.<nameservice>.nn2' = '<nn2-host>:4007',
'dfs.client.failover.proxy.provider.<nameservice>' = 'org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider'
);
如果 EMR 开启了 Kerberos,可继续追加以下属性:
'hadoop.security.authentication' = 'kerberos',
'hadoop.kerberos.keytab' = '/usr/local/service/doris/kerberos.keytab',
'hadoop.kerberos.principal' = '<your-principal>'

场景二:Hive Metastore + COS 加速桶

如果 Setats 使用 Hive Metastore,并且底层数据或元数据依赖 COS 加速桶,可参考以下配置:
CREATE CATALOG setats COMMENT 'setats catalog' PROPERTIES (
'type' = 'setats',
'setats.catalog.type' = 'hms',
'hive.metastore.uris' = 'thrift://<metastore-host-1>:7004,thrift://<metastore-host-2>:7004',
'cos.endpoint' = 'cos.<region>.myqcloud.com',
'cos.access_key' = '<SecretId>',
'cos.secret_key' = '<SecretKey>',
'fs.ofs.bucket.region' = '<region>',
'fs.ofs.user.appid' = '<AppId>',
'fs.ofs.tmp.cache.dir' = '/tmp/chdfs/',
'fs.ofs.upload.flush.flag' = 'true',
'broker.name' = '<BrokerName>'
);

Catalog 参数说明

参数
说明
type
Catalog 类型,固定为 setats
setats.catalog.type
Setats Catalog 类型,如 hadoop 或 hms
warehouse
Setats Warehouse 地址,Hadoop Catalog 常用
hive.metastore.uris
Hive Metastore 地址,Hive / HMS 场景需要
dfs.nameservices
HDFS NameService 名称
dfs.ha.namenodes.<nameservice>
HA NameNode 列表
dfs.namenode.rpc-address.<nameservice>.nn*
NameNode RPC 地址
dfs.client.failover.proxy.provider.<nameservice>
HDFS HA Failover Provider
cos.endpoint
COS 访问域名
cos.access_key / cos.secret_key
COS 访问凭据; 需要有 QcloudCOSListOnly 和 QcloudCOSDataReadOnly 权限
fs.ofs.bucket.region
加速桶地域
fs.ofs.user.appid
腾讯云 AppID
broker.name
Doris Broker 名称

查询数据

切换 Catalog 查询

SWITCH setats;
SHOW DATABASES;
USE `testdb`;
SELECT * FROM `demo_setats_table1`;

跨 Catalog 查询

SELECT *
FROM `setats`.`testdb`.`demo_setats_table1`;