????? 工作流程
? 流程文字描述
? 流程图

?? 通用配置
?? 参考配置
?? 公共配置
?? Input插件通用参数
name | type | required | default value |
---|---|---|---|
result_table_name | string | yes | – |
table_name | string | no | – |
?? result_table_name [string]的数据集(dataset),或者被称为临时表(table);
指定 时,此插件处理后的数据,会被注册为一个可供其他插件直接访问的数据集(dataset),或者被称为临时表(table)。此处注册的数据集(dataset),其他插件可通过指定 来直接访问。
?? table_name [string]
[从v1.4开始废弃] 功能同 ,后续 Release 版本中将删除此参数,建议使用 参数
?? 使用样例
数据源 的结果将注册为名为 的临时表。这个临时表,可以被任意 或者 插件通过指定 使用。
?? 公共配置
?? Output插件通用参数
name | type | required | default value |
---|---|---|---|
source_table_name | string | no | – |
?? source_table_name [string]
不指定 时,当前插件处理的就是配置文件中上一个插件输出的数据集(dataset);
指定 的时候,当前插件处理的就是此参数对应的数据集。
?? 使用样例
将名为 的临时表输出。
若不配置, 将配置文件中最后一个 插件的处理结果输出
?? Hive 插件使用(input)
?? 配置说明
name | type | required | default value |
---|---|---|---|
pre_sql | string | yes | – |
common-options | string | yes | – |
?? pre_sql [string]
进行预处理的sql, 如果不需要预处理,可以使用select * from hive_db.hive_table
?? common options [string]
插件通用参数,参考 公共配置
注意:从waterdrop v1.3.4 开始,使用hive input必须做如下配置:
?? 配置示例
?? Clickhouse 插件使用(output)
? 注意事项
通过 Clickhouse-jdbc 将数据源按字段名对应,写入ClickHouse,需要提前创建对应的表结构
?? 配置说明
name | type | required | default value |
---|---|---|---|
bulk_size | number | no | 20000 |
clickhouse.* | string | no | |
database | string | yes | – |
fields | array | no | – |
host | string | yes | – |
cluster | string | no | – |
password | string | no | – |
retry | number | no | 1 |
retry_codes | array | no | [ ] |
table | string | yes | – |
username | string | no | – |
common-options | string | no | – |
?? bulk_size [number]
每次通过 ClickHouse JDBC 写入数据的条数,默认为20000。
?? database [string]
ClickHouse database
?? fields [array]
需要输出到ClickHouse的数据字段,若不配置将会自动根据数据的Schema适配。
?? host [string]
ClickHouse集群地址,格式为host:port,允许指定多个host。如”host1:8123,host2:8123″。
?? cluster [string]
ClickHouse 配置分布式表的时候,提供配置表隶属的集群名称,参考官方文档Distributed
?? password [string]
ClickHouse用户密码,仅当ClickHouse中开启权限时需要此字段。
?? retry [number]
重试次数,默认为1次
?? retry_codes [array]
如果多次重试都失败,将会丢弃这个批次的数据,慎用!!
?? table [string]
ClickHouse 表名
?? username [string]
ClickHouse用户用户名,仅当ClickHouse中开启权限时需要此字段
?? clickhouse [string]
参数,覆盖了clickhouse-jdbc提供的所有参数
指定参数的方式是在原参数名称上加上前缀”clickhouse.”,如指定socket_timeout的方式是: clickhouse.socket_timeout = 50000。如果不指定这些非必须参数,它们将使用clickhouse-jdbc给出的默认值。
?? common options [string]
插件通用参数,详情参照 公共配置
?? ClickHouse类型对照表
写入 ClickHouse 之前需要通过 Filter 中的 或者 插件将各字段转换为对应格式,否则会产生 错。
以下为转换目标类型对照表(未列出的类型暂不支持):
ClickHouse字段类型 | Convert插件转化目标类型 | SQL转化表达式 | Description |
---|---|---|---|
Date | string | string() | 格式字符串 |
DateTime | string | string() | 格式字符串 |
String | string | string() | |
Int8 | integer | int() | |
Uint8 | integer | int() | |
Int16 | integer | int() | |
Uint16 | integer | int() | |
Int32 | integer | int() | |
Uint32 | long | bigint() | |
Int64 | long | bigint() | |
Uint64 | long | bigint() | |
Float32 | float | float() | |
Float64 | double | double() | |
Decimal(P, S) | – | CAST(source AS DECIMAL(P, S)) | Decimal32(S), Decimal64(S), Decimal128(S)皆可使用 |
Array(T) | – | – | |
Nullable(T) | 取决于T | 取决于T | |
LowCardinality(T) | 取决于T | 取决于T |
?? 配置示例
当出现 络超时或者 络异常的情况下,重试写入3次
??分布式表配置
根据提供的cluster名称,会从system.clusters表里面获取当前table实际分布在那些节点上。单spark partition的数据会根据随机策略选择某一个ClickHouse节点执行具体的写入操作
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!