Kudu catalog
Experimental feature
StarRocks 从 v3.3 开始支持 Kudu catalog。
Kudu catalog 是一种 external catalog,允许您在不导入数据的情况下查询 Apache Kudu 的数据。
此外,您还可以基于 Kudu catalog 使用 INSERT INTO 直接转换和导入 Kudu 的数据。
为了确保在您的 Kudu 集群上成功执行 SQL 工作负载,您的 StarRocks 集群需要与以下重要组件集成:
- 像 Kudu 文件系统或 Hive metastore 这样的 Metastore
使用注意事项
您只能使用 Kudu catalog 查询数据。您不能使用 Kudu catalog 删除、删除或插入数据到您的 Kudu 集群中。
集成准备
在创建 Kudu catalog 之前,请确保您的 StarRocks 集群可以与 Kudu 集群的存储系统和 metastore 集成。
注意
如果在发送查询时返回未知主机的错误,您必须将 KUDU 集群节点的主机名和 IP 地址之间的映射添加到 /etc/hosts 路径中。
Kerberos 认证
如果您的 KUDU 集群或 Hive metastore 启用了 Kerberos 认证,请按如下方式配置您的 StarRocks 集群:
- 在每个 FE 和每个 BE 上运行
kinit -kt keytab_path principal命令,从密钥分发中心 (KDC) 获取票证授予票证 (TGT)。要运行此命令,您必须具有访问 KUDU 集群和 Hive metastore 的权限。请注意,使用此命令访问 KDC 是时间敏感的。因此,您需要使用 cron 定期运行此命令。 - 将
JAVA_OPTS="-Djava.security.krb5.conf=/etc/krb5.conf"添加到每个 FE 的 $FE_HOME/conf/fe.conf 文件和每个 BE 的 $BE_HOME/conf/be.conf 文件中。在此示例中,/etc/krb5.conf是 krb5.conf 文件的保存路径。您可以根据需要修改路径。
创建 Kudu catalog
语法
CREATE EXTERNAL CATALOG <catalog_name>
[COMMENT <comment>]
PROPERTIES
(
"type" = "kudu",
CatalogParams
)
参数
catalog_name
Kudu catalog 的名称。命名约定如下:
- 名称可以包含字母、数字 (0-9) 和下划线 (_)。必须以字母开头。
- 名称区分大小写,且不能超过 1023 个字符。
comment
Kudu catalog 的描述。此参数是可选的。
type
数据源的类型。将值设置为 kudu。
CatalogParams
StarRocks 访问 Kudu 集群元数据的一组参数。
下表描述了您需要在 CatalogParams 中配置的参数。
| 参数 | 是否必需 | 描述 |
|---|---|---|
| kudu.catalog.type | 是 | 您用于 Kudu 集群的 metastore 类型。将此参数设置为 kudu 或 hive |