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

}

相关推荐
嘟嘟w10 小时前
Servlet的生命周期
java
张较瘦_10 小时前
SpringBoot3 | SpringBoot中Entity、DTO、VO的通俗理解与实战
java·spring boot·后端
may_一一10 小时前
docker安装的redis状态一直是restarting
java·redis·docker
zhangyifang_00910 小时前
Spring中的SPI机制
java·spring
han_hanker11 小时前
这里使用 extends HashMap<String, Object> 和 类本身定义变量的优缺点
java·开发语言
careathers11 小时前
【JavaSE语法】面向对象初步认识
java·面向对象
coding随想11 小时前
掌控选区的终极武器:getSelection API的深度解析与实战应用
java·前端·javascript
嵌入式小能手11 小时前
飞凌嵌入式ElfBoard-文件I/O的深入学习之存储映射I/O
java·前端·学习
ChinaRainbowSea12 小时前
github 仓库主页美化定制
java·后端·github
程序猿小蒜12 小时前
基于springboot的医院资源管理系统开发与设计
java·前端·spring boot·后端·spring