【Flink-Sql-Kafka-To-ClickHouse】使用 FlinkSql 将 Kafka 数据写入 ClickHouse
1)需求分析
1、数据源为 Kafka,定义 Kafka-Topic 为动态临时视图表。
2、写入到 ClickHouse,自定义 Sink 表。
3、source 和 sink 都使用 Flink 集成的 Connector
2)功能实现
导入ClickHouse连接器
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>flink-connector-clickhouse</artifactId>
<version>1.14.0</version>
</dependency>
如果在服务器上执行,需要将 jar 放到 Flink 的 lib 目录下。
3)准备工作
3.1.Kafka
1、创建好Topic
2、准备测试数据
{
"id": 1,
"eventId": "TEST123",
"eventStDt": "2022-11-3023:37:49",
"bak6": "测试",
"bak7": "https://test?user",
"businessId": "17279811111111111111111111111111",
"phone": "12345678910",
"bak1": "1234",
"bak2": "2022-12-0100:00:00",
"bak13": "17279811111111111111111111111111",
"bak14": "APP",
"bak11": "TEST"
}
3.2.ClickHouse
1、创建表(此处我们使用生产环境中较为常用的 cluster 集群模式建表)
注意:集群模式要创建两次表,一次为 local 本地表,一次为 cluster 集群表。
- local
CREATE TABLE test.kafka2ck_test_local