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

}

相关推荐
驭渊的小故事8 小时前
多线程02
java·开发语言·jvm
随遇而安zx8 小时前
【多线程】---实战:CompletableFuture编排
java·多线程·并发
Wang's Blog8 小时前
Java框架快速入门: Spring Security+OAuth2之HTTP请求结构与认证基础
java·spring·http
君顾18 小时前
本地折扣卡 CPS 平台搭建:从系统架构到落地实战
java·开发语言·折扣卡
Java小白笔记9 小时前
Java 单元测试怎么写:JUnit 5、Mockito 与 Spring Boot 方法级实战
java·junit·单元测试
CoderYanger10 小时前
前端基础——JavaScript(WebAPI)(下篇)
java·开发语言·前端·javascript·程序人生·面试·职场和发展
lisin-lee-cooper10 小时前
简单聊聊 Spring 框架源码
java·后端·spring
一木 之林10 小时前
七、一-AI 工程实践、插件化调试与软件交付
java·linux·c++
边境悍匪10 小时前
蜗牛学苑 Java 智能体学习 Day38|Spring AI Alibaba2 思维导图复盘
java·学习·spring
Co_Hui11 小时前
Java 静态内部类、非静态内部类、匿名内部类的区别?
java