一、前提条件
·已创建 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`;