blob: e0c999dea3238f5e13004ba1a44bb80dbea10581 [file] [log] [blame] [view]
import ChangeLog from '../changelog/connector-databend.md';
# Databend
> Databend 源连接器
## 支持的引擎
> Spark<br/>
> Flink<br/>
> SeaTunnel Zeta<br/>
## 主要功能
- [x] [批处理](../../concept/connector-v2-features.md)
- [ ] [流处理](../../concept/connector-v2-features.md)
- [x] [并行度](../../concept/connector-v2-features.md)
- [ ] [支持用户自定义分片](../../concept/connector-v2-features.md)
- [ ] [支持多表读](../../concept/connector-v2-features.md)
## 描述
用于从 Databend 读取数据的源连接器。
## 依赖
### 对于 Spark/Flink
> 1. 你需要下载 [Databend JDBC driver jar package](https://github.com/databendlabs/databend-jdbc/) 并添加到目录 `${SEATUNNEL_HOME}/plugins/`.
### 对于 SeaTunnel Zeta
> 1. 你需要下载 [Databend JDBC driver jar package](https://github.com/databendlabs/databend-jdbc/) 并添加到目录 `${SEATUNNEL_HOME}/lib/`.
## 支持的数据源信息
| 数据源 | 支持版本 | 驱动 | Url | Maven |
|--------|----------|------|-----|-------|
| Databend | 1.2.x 及以上版本 | - | - | - |
## 数据类型映射
| Databend 数据类型 | SeaTunnel 数据类型 |
|-----------------|------------------|
| BOOLEAN | BOOLEAN |
| TINYINT | TINYINT |
| SMALLINT | SMALLINT |
| INT | INT |
| BIGINT | BIGINT |
| FLOAT | FLOAT |
| DOUBLE | DOUBLE |
| DECIMAL | DECIMAL |
| STRING | STRING |
| VARCHAR | STRING |
| CHAR | STRING |
| TIMESTAMP | TIMESTAMP |
| DATE | DATE |
| TIME | TIME |
| BINARY | BYTES |
## 源选项
基础配置:
| 名称 | 类型 | 是否必须 | 默认值 | 描述 |
|------|------|----------|--------|------|
| url | String | | - | Databend JDBC 连接 URL |
| username | String | | - | Databend 数据库用户名 |
| password | String | | - | Databend 数据库密码 |
| database | String | | - | Databend 数据库名称,默认使用连接 URL 中指定的数据库名 |
| table | String | | - | Databend 表名称 |
| query | String | | - | Databend 查询语句,如果设置将覆盖 database table 的设置 |
| fetch_size | Integer | | 0 | 一次从数据库中获取的记录数,设置为0使用JDBC驱动默认值 |
| jdbc_config | Map | | - | 额外的 JDBC 连接配置,如加载均衡策略等 |
表清单配置:
| 名称 | 类型 | 是否必须 | 默认值 | 描述 |
|------|------|----------|--------|------|
| database | String | | - | 数据库名称 |
| table | String | | - | 表名称 |
| query | String | | - | 自定义查询语句 |
| fetch_size | Integer | | 0 | 一次从数据库中获取的记录数 |
注意: 当此配置对应于单个表时,您可以将 table_list 中的配置项展平到外层。
## 任务示例
### 单表读取
```hocon
env {
parallelism = 2
job.mode = "BATCH"
}
source {
Databend {
url = "jdbc:databend://localhost:8000"
username = "root"
password = ""
database = "default"
table = "users"
}
}
sink {
Console {}
}
```
### 使用自定义查询
```hocon
source {
Databend {
url = "jdbc:databend://localhost:8000"
username = "root"
password = ""
query = "SELECT id, name, age FROM default.users WHERE age > 18"
}
}
```
## 相关链接
- [Databend 官方网站](https://databend.rs/)
- [Databend JDBC 驱动](https://github.com/databendlabs/databend-jdbc/)
## Changelog
<ChangeLog />