flink 批量写clickhouse

server/2024/9/22 10:33:18/

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
}


http://www.ppmy.cn/server/120242.html

相关文章

Python爱心射线(完整代码)

目录 系列目录 写在前面​ 完整代码 下载代码 代码分析 写在后面 系列目录 序号直达链接表白系列1Python制作一个无法拒绝的表白界面2Python满屏飘字表白代码3

云原生(Cloud Native)简介及相关技术

云原生&#xff08;Cloud Native&#xff09;简介及相关技术 什么是云原生&#xff1f; 云原生&#xff08;Cloud Native&#xff09;是一种设计和开发应用程序的方法&#xff0c;旨在充分利用云计算的弹性、可扩展性和分布式架构优势。通过采用微服务架构、容器化、持续集成…

docker入门总结(附错误处理,持续更新)

安装、启动、卸载 卸载掉旧版本的 Docker yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engineDocker安装&#xff08;选其一&#xff09;…

Codeforces Round 973 (Div. 2) - D题

传送门&#xff1a;Problem - D - Codeforces 题目大意&#xff1a; 思路&#xff1a; 尽量要 最大值变小&#xff0c;最小值变大 即求 最大值的最小 和 最小值的最大 -> 二分答案 AC代码&#xff1a; 代码有注释 #include<bits/stdc.h> using namespace std; #…

ccfcsp-202406(1、2、3、4、5)

矩阵重塑&#xff08;其一&#xff09; #include <bits/stdc.h> using namespace std; int main() {int n,m,p,q;cin >> n >> m >> p >> q;vector<int> vec(n * m);vector<vector<int>> res(p, vector(q,0));int k 0;for(in…

Spring系统学习(一)——初识Spring框架

1. Spring 框架概述 1.1 什么是 Spring&#xff1f; Spring 是一个流行的基于 Java 的开源框架&#xff0c;旨在简化企业级应用程序的开发。最初&#xff0c;它是为了简化 Java 企业版&#xff08;Java EE&#xff09;的复杂性而设计的&#xff0c;经过不断发展&#xff0c;S…

使用 NCache 将 Java 微服务扩展到极致性能

微服务已成为软件开发领域的一种变革性架构方法&#xff0c;提供了从整体结构到更加模块化和可扩展的系统的范式转变。微服务的核心是将复杂的应用程序分解为更小的、可独立部署的服务&#xff0c;这些服务可以无缝通信&#xff0c;从而提高敏捷性、灵活性和易维护性。这种分散…

由于安全风险,安全领导者考虑禁止人工智能编码

安全团队与开发团队之间的紧张关系 83% 的安全领导者表示&#xff0c;他们的开发人员目前使用人工智能来生成代码&#xff0c;57% 的人表示这已成为一种常见做法。 然而&#xff0c;72% 的人认为他们别无选择&#xff0c;只能允许开发人员使用人工智能来保持竞争力&#xff0…