WaterDrop 基本使用

????? 工作流程

? 流程文字描述

? 流程图

wd-workflow

?? 通用配置

?? 参考配置

?? 公共配置

?? 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进行处理,非常感谢!

上一篇 2021年8月8日
下一篇 2021年8月8日

相关推荐