|
| 1 | +# Clickhouse |
| 2 | + |
| 3 | +> Clickhouse source 连接器 |
| 4 | +
|
| 5 | +## 支持引擎 |
| 6 | + |
| 7 | +> Spark<br/> |
| 8 | +> Flink<br/> |
| 9 | +> SeaTunnel Zeta<br/> |
| 10 | +
|
| 11 | +## 核心特性 |
| 12 | + |
| 13 | +- [x] [批处理](../../concept/connector-v2-features.md) |
| 14 | +- [ ] [流处理](../../concept/connector-v2-features.md) |
| 15 | +- [ ] [精确一次](../../concept/connector-v2-features.md) |
| 16 | +- [x] [列映射](../../concept/connector-v2-features.md) |
| 17 | +- [ ] [并行度](../../concept/connector-v2-features.md) |
| 18 | +- [ ] [支持用户自定义拆分](../../concept/connector-v2-features.md) |
| 19 | + |
| 20 | +> 支持查询SQL,可以实现投影效果。 |
| 21 | +
|
| 22 | +## 描述 |
| 23 | + |
| 24 | +用于从Clickhouse读取数据。 |
| 25 | + |
| 26 | +## 支持的数据源信息 |
| 27 | + |
| 28 | +为了使用 Clickhouse 连接器,需要以下依赖项。它们可以通过 install-plugin.sh 或从 Maven 中央存储库下载。 |
| 29 | + |
| 30 | +| 数据源 | 支持的版本 | 依赖 | |
| 31 | +|------------|--------------------|------------------------------------------------------------------------------------------| |
| 32 | +| Clickhouse | universal | [Download](https://mvnrepository.com/artifact/org.apache.seatunnel/connector-clickhouse) | |
| 33 | + |
| 34 | +## 数据类型映射 |
| 35 | + |
| 36 | +| Clickhouse 数据类型 | SeaTunnel 数据类型 | |
| 37 | +|-----------------------------------------------------------------------------------------------------------------------------------------------|---------------------| |
| 38 | +| String / Int128 / UInt128 / Int256 / UInt256 / Point / Ring / Polygon MultiPolygon | STRING | |
| 39 | +| Int8 / UInt8 / Int16 / UInt16 / Int32 | INT | |
| 40 | +| UInt64 / Int64 / IntervalYear / IntervalQuarter / IntervalMonth / IntervalWeek / IntervalDay / IntervalHour / IntervalMinute / IntervalSecond | BIGINT | |
| 41 | +| Float64 | DOUBLE | |
| 42 | +| Decimal | DECIMAL | |
| 43 | +| Float32 | FLOAT | |
| 44 | +| Date | DATE | |
| 45 | +| DateTime | TIME | |
| 46 | +| Array | ARRAY | |
| 47 | +| Map | MAP | |
| 48 | + |
| 49 | +## Source 选项 |
| 50 | + |
| 51 | +| 名称 | 类型 | 是否必须 | 默认值 | 描述 | |
| 52 | +|-------------------|--------|----------|------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |
| 53 | +| host | String | 是 | - | `ClickHouse` 集群地址, 格式是`host:port` , 允许多个`hosts`配置. 例如 `"host1:8123,host2:8123"` . | |
| 54 | +| database | String | 是 | - | The `ClickHouse` 数据库名称. | |
| 55 | +| sql | String | 是 | - | 用于通过Clickhouse服务搜索数据的查询sql. | |
| 56 | +| username | String | 是 | - | `ClickHouse` user 用户账号. | |
| 57 | +| password | String | 是 | - | `ClickHouse` user 用户密码. | |
| 58 | +| clickhouse.config | Map | 否 | - | 除了上述必须由 `clickhouse-jdbc` 指定的必填参数外,用户还可以指定多个可选参数,这些参数涵盖了 `clickhouse-jdbc` 提供的所有[参数](https://github.com/ClickHouse/clickhouse-jdbc/tree/master/clickhouse-client#configuration). | |
| 59 | +| server_time_zone | String | 否 | ZoneId.systemDefault() | 数据库服务中的会话时区。如果未设置,则使用ZoneId.systemDefault()设置服务时区. | |
| 60 | +| common-options | | 否 | - | 源插件常用参数,详见 [源通用选项](../source-common-options.md). | |
| 61 | + |
| 62 | +## 如何创建Clickhouse数据同步作业 |
| 63 | + |
| 64 | +以下示例演示了如何创建数据同步作业,该做作业从Clickhouse读取数据并在本地客户端上打印: |
| 65 | + |
| 66 | +```bash |
| 67 | +# 设置要执行的任务的基本配置 |
| 68 | +env { |
| 69 | + parallelism = 10 |
| 70 | + job.mode = "BATCH" |
| 71 | +} |
| 72 | + |
| 73 | +# 创建连接到Clickhouse的源 |
| 74 | +source { |
| 75 | + Clickhouse { |
| 76 | + host = "localhost:8123" |
| 77 | + database = "default" |
| 78 | + sql = "select * from test where age = 20 limit 100" |
| 79 | + username = "xxxxx" |
| 80 | + password = "xxxxx" |
| 81 | + server_time_zone = "UTC" |
| 82 | + plugin_output = "test" |
| 83 | + clickhouse.config = { |
| 84 | + "socket_timeout": "300000" |
| 85 | + } |
| 86 | + } |
| 87 | +} |
| 88 | + |
| 89 | +# 控制台打印读取的Clickhouse数据 |
| 90 | +sink { |
| 91 | + Console { |
| 92 | + parallelism = 1 |
| 93 | + } |
| 94 | +} |
| 95 | +``` |
| 96 | + |
| 97 | +### 小提示 |
| 98 | + |
| 99 | +> 1.[SeaTunnel 部署文档](../../start-v2/locally/deployment.md). |
| 100 | +
|
0 commit comments