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

}

相关推荐
康康的AI博客7 分钟前
工业数据中台:PLC、SCADA、MES的实时协同架构
java·服务器·网络
それども18 分钟前
为什么要加@ResponseBody
java·开发语言·spring boot
一只专注api接口开发的技术猿29 分钟前
微服务架构下集成淘宝商品 API 的实践与思考
java·大数据·开发语言·数据库·微服务·架构
2501_9444241239 分钟前
Flutter for OpenHarmony游戏集合App实战之记忆翻牌配对消除
android·java·开发语言·javascript·windows·flutter·游戏
鹿角片ljp1 小时前
Java网络编程入门:从Socket到多线程服务器
java·服务器·网络
走进IT1 小时前
DDD项目分层结构说明
java
橙露1 小时前
嵌入式实时操作系统 FreeRTOS:任务调度与信号量的核心应用
java·大数据·服务器
愚公移码1 小时前
蓝凌EKP产品:关联机制浅析
java·服务器·前端
阿蒙Amon1 小时前
C#每日面试题-is和as的区别
java·开发语言·c#
Tao____1 小时前
适合中小企业的物联网平台
java·物联网·mqtt·低代码·开源