Cloudberry
JDBC Cludberry源连接器
支持引擎
Spark
Flink
SeaTunnel Zeta
使用依赖关系
适用于 Spark/Flink 引擎
- 您需要确保jdbc驱动程序jar包已放置在目录
${SEATUNNEL_HOME}/plugins/
中。
适用于 SeaTunnel Zeta 引擎
- 您需要确保jdbc驱动程序jar包已放置在目录
${SEATUNNEL_HOME}/lib/
中。
关键特性
支持查询SQL,可以实现映射效果。
描述
通过 JDBC 读取外部数据源的数据。Cloudberry 暂未提供原生 JDBC 的驱动,需使用 PostgreSQL的 驱动程序和实现。
支持的数据源信息
数据源 | 支持的版本 | 驱动程序 | URL | Maven |
---|---|---|---|---|
Cloudberry | 使用 PostgreSQL 驱动实现 | org.postgresql.Driver | jdbc:postgresql://localhost:5432/test | 下载 |
数据库相关性
请下载PostgreSQL驱动程序的jar包,并将其复制到
${SEATUNNEL_HOME}/plugins/jdbc/lib/
工作目录下。
例如:cp postgresql-xxx.jar $SEATUNNEL_HOME/plugins/jdbc/lib/
数据类型映射
Cloudberry 使用 PostgreSQL 的数据类型实现。有关数据类型的兼容性和映射关系,请参考 PostgreSQL 文档。
配置项
Cloudberry 连接器使用与 PostgreSQL 相同的配置项。有关详细的配置选项,请参考 PostgreSQL 连接器文档。
关键配置项包括:
- url (必需): JDBC 连接 URL。
- driver (必需): 驱动程序类名 (org.postgresql.Driver)。
- user/password: 认证凭据。
- query or table_path: 要读取的数据。
- 用于并行读取的分区选项。
并行读取
Cloudberry 支持与 PostgreSQL 连接器相同的并行读取规则。有关切片策略和并行读取选项的详细信息,请参考 PostgreSQL 连接器文档。
任务示例
简单
env {
parallelism = 4
job.mode = "BATCH"
}
source {
Jdbc {
url = "jdbc:postgresql://localhost:5432/cloudberrydb"
driver = "org.postgresql.Driver"
user = "dbadmin"
password = "password"
query = "select * from mytable limit 100"
}
}
sink {
Console {}
}
使用 table_path 进行并行读取
env {
parallelism = 4
job.mode = "BATCH"
}
source {
Jdbc {
url = "jdbc:postgresql://localhost:5432/cloudberrydb"
driver = "org.postgresql.Driver"
user = "dbadmin"
password = "password"
table_path = "public.mytable"
split.size = 10000
}
}
sink {
Console {}
}
读取多张表
env {
job.mode = "BATCH"
parallelism = 4
}
source {
Jdbc {
url = "jdbc:postgresql://localhost:5432/cloudberrydb"
driver = "org.postgresql.Driver"
user = "dbadmin"
password = "password"
"table_list" = [
{
"table_path" = "public.table1"
},
{
"table_path" = "public.table2"
}
]
split.size = 10000
}
}
sink {
Console {}
}
有关更详细的示例和配置,请参阅PostgreSQL连接器文档。
变更日志
Change Log
Change | Commit | Version |
---|---|---|
[Feature][Connector] Add Apache Cloudberry Support (#8985) | https://github.com/apache/seatunnel/commit/b6f82c1 | dev |