flink 批量写clickhouse

idea maven 依赖

<dependency>

<groupId>ru.yandex.clickhouse</groupId>

<artifactId>clickhouse-jdbc</artifactId>

<version>0.2.4</version>

</dependency>

val clickhouseUri = "jdbc:clickhouse://host:8123/aso?user=root&password=XXX"

val table =""

processed.addSink(

JdbcSink.sink(

"insert into $table values(?,?)",

CKSinkBuilder(),

JdbcExecutionOptions.Builder()

.withBatchIntervalMs(20000)

.withBatchSize(20000).build(), //20s一批或20000条数据,那个先达到都执行sink

JdbcConnectionOptions.JdbcConnectionOptionsBuilder()

.withUrl(clickhouseUri)

.withDriverName("ru.yandex.clickhouse.ClickHouseDriver")

.build()

)

)

class CKSinkBuilder : JdbcStatementBuilder<DemoData> {

override fun accept(ps: PreparedStatement, v: DemoData) {

ps.setLong(1, v.ts!!)

ps.setSTring(2, v.data!!)

//还有其他字段接着set ps.setSTring(3, v.XXX!!)

}

}

class DemoData{

var ts: Long? = null

var data: String? = null

}

相关推荐
两个蝴蝶飞4 小时前
Java量化系列(四):实现自选股票维护功能
java·经验分享
短剑重铸之日6 小时前
7天读懂MySQL|Day 5:执行引擎与SQL优化
java·数据库·sql·mysql·架构
酒九鸠玖6 小时前
Java--多线程
java
Dreamboat-L6 小时前
云服务器上部署nginx
java·服务器·nginx
长安er6 小时前
LeetCode215/347/295 堆相关理论与题目
java·数据结构·算法·leetcode·
cici158747 小时前
C#实现三菱PLC通信
java·网络·c#
k***92168 小时前
【C++】继承和多态扩展学习
java·c++·学习
weixin_440730509 小时前
java结构语句学习
java·开发语言·学习
JIngJaneIL9 小时前
基于java+ vue医院管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
Coder_Boy_9 小时前
Spring AI 源码大白话解析
java·人工智能·spring