JDBC catalog
StarRocks 从 3.0 版本开始支持 JDBC Catalog。
JDBC Catalog 是一种 External Catalog。通过 JDBC Catalog,您不需要执行数据导入就可以直接查询 JDBC 数据源里的数据。
此外,您还可以基于 JDBC Catalog ,结合 INSERT INTO 能力对 JDBC 数据源的数据实现转换和导入。
JDBC Catalog 自 3.0 版本开始支持 MySQL、PostgreSQL,自 3.2.9、3.3.1 版本开始支持 Oracle 和 SQLServer。
前提条件
- 确保 FE 和 BE(或 CN)可以通过
driver_url
指定的下载路径 ,下载所需的 JDBC 驱动程序。 - BE(或 CN)所在机器的启动脚本 $BE_HOME/bin/start_be.sh 中需要配置
JAVA_HOME
,要配置成 JDK 环境,不能配置成 JRE 环境,比如export JAVA_HOME = <JDK 的绝对路径>
。注意需要将该配置添加在 BE(或 CN)启动脚本最开头,添加完成后需重启 BE(或 CN)。
创建 JDBC Catalog
语法
CREATE EXTERNAL CATALOG <catalog_name>
[COMMENT <comment>]
PROPERTIES ("key"="value", ...)
参数说明
catalog_name
JDBC Catalog 的名称。命名要求如下:
- 必须由字母 (a-z 或 A-Z)、数字 (0-9) 或下划线 (_) 组成,且只能以字母开头。
- 总长度不能超过 1023 个字符。
- Catalog 名称大小写敏感。
comment
JDBC Catalog 的描述。此参数为可选。
PROPERTIES
JDBC Catalog 的属性,包含如下必填配置项:
参数 | 说明 |
---|---|
type | 资源类型,固定取值为 jdbc 。 |
user | 目标数据库登录用户名。 |
password | 目标数据库用户登录密码。 |
jdbc_uri | JDBC 驱动程序连接目标数据库的 URI。如果使用 MySQL,格式为:"jdbc:mysql://ip:port" 。如果使用 PostgreSQL,格式为 "jdbc:postgresql://ip:port/db_name" 。 |
driver_url | 用于下载 JDBC 驱动程序 JAR 包的 URL。支持使用 HTTP 协议或者 file 协议,例如https://repo1.maven.org/maven2/org/postgresql/postgresql/42.3.3/postgresql-42.3.3.jar 和 file:///home/disk1/postgresql-42.3.3.jar 。说明 您也可以把 JDBC 驱动程序部署在 FE 或 BE(或 CN)所在节点上任意相同路径下,然后把 driver_url 设置为该路径,格式为 file:///<path>/to/the/driver 。 |
driver_class | JDBC 驱动程序的类名称。以下是常见数据库引擎支持的 JDBC 驱动程序类名称:
|