- Author: rickyHuo
- Homepage: https://github.com/RickyHuo/hangout-output-clickhouse
- Version: 0.0.8
使用Hangout将数据清洗写入ClickHouse,兼容hangout-dist-0.3.0-release, 0.4.0版本hangout兼容性未知。
如果线上有现成的Spark环境,可以使用Waterdrop接入数据,支持Kafka、HDFS、Hive等。
name | type | required | default value |
---|---|---|---|
bulk_size | int | no | 1000 |
database | string | yes | - |
fields | list | yes | - |
format | string | no | TabSeparated |
host | string | yes | - |
table | string | yes | - |
password | string | yes | - |
username | string | yes | - |
批次写入量,默认为1000,当且仅当数据条数达到bulk_size时,才会触发写入操作。
dev版本正在开发时间触发器,敬请期待...
ClickHouse database.
期望写入ClickHouse的数据字段。
数据插入格式ClickHouse Format Introduction
当前支持JSONEachRow
以及TabSeparated
。
ClickHouse集群地址,多个以逗号","隔开。
ClickHouse table name.
ClickHouse withCredit username.
ClickHouse withCredit password.
outputs:
- com.sina.bip.hangout.outputs.Clickhouse:
host: localhost:8123
username: user
password: passwd
database: apm
table: apm_netdiagno
fields: ['_device_id', '_ping_small', '_domain', '_traceroute', '_ping_big', 'date', 'ts', '_snet']
bulk_size: 500
使用
Tabseparated
(default)将fields中对应的字段写入ClickHouse。
outputs:
- com.sina.bip.hangout.outputs.Clickhouse:
host: localhost:8123
username: user
password: passwd
database: apm
format: JSONEachRow
table: apm_netdiagno
bulk_size: 500
使用
JSONEachRow
将数据写入ClickHouse,使用时务必保证清洗后的数据没有多余的字段且与表结构对应。使用JSONEachRow
则不需要配置fields
参数。
在写入ClickHouse之前,Date和DateTime类型的字段需要转换为指定格式。
-
Date
yyyy-MM-dd
-
DateTime
yyyy-MM-dd HH:mm:ss
UNIX
例如:1533535518
- UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64
- Float32, Float64
- Date
- DateTime
- Array(String)
- LowCardinality(T)