一、概述
注意:说明:
注意:如果需要使用 Setats 服务,那么需要升级 StarRocks 集群版本,请提交工单申请。
二、前提条件
·已创建 Setats 集群并完成 Warehouse 配置。
·已部署 StarRocks 集群,并确认 FE / BE 节点能够访问 HDFS / COS 等底层存储。
·如果 Warehouse 使用 Hive Catalog,需要额外确认 StarRocks 到 Hive Metastore 的连通性。
·如果涉及 Kerberos、CHDFS 或 COS 加速桶,需要提前准备相关网络、凭据和 Hadoop 配置。
三、场景一:HDFS / Hadoop Catalog
以下示例适用于 Hadoop Catalog / HDFS 场景:
CREATE EXTERNAL CATALOG setatsPROPERTIES ( '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,请根据实际环境补充 Kerberos 相关参数。
四、场景二:Hive Metastore + COS 加速桶
如果 Setats 使用 Hive Metastore,并且底层数据或元数据依赖 COS 加速桶,可参考以下配置:
CREATE EXTERNAL CATALOG setatsPROPERTIES( "type" = "setats", "setats.catalog.type" = "hive", "hive.metastore.uris" = "thrift://172.28.39.128:7004,thrift://172.28.39.118:7004", 'tencent.cos.access_key' = '', 'tencent.cos.secret_key' = '', 'tencent.cos.endpoint' = '');
五、Catalog 参数说明
| 参数 | 说明 |
| type | Catalog 类型,固定为 setats |
| setats.catalog.type | Setats Catalog 类型,如 hadoop |
| warehouse | Setats Warehouse 地址 |
| 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 |
| tencent.cos.access_key/tencent.cos.secret_key | COS 访问凭据; 需要有 QcloudCOSListOnly 和 QcloudCOSDataReadOnly 权限 |
| tencent.cos.endpoint | COS 访问域名, 比如 cos.ap-guangzhou.myqcloud.com |
六、切换 Catalog 查询
SET CATALOG setats;SHOW DATABASES;USE `testdb`;SELECT * FROM demo_setats_table1;
七、全限定名查询
SELECT *FROM `setats`.`testdb`.`demo_setats_table1`;