首页 > 其他分享 >FLink写入Clickhouse优化

FLink写入Clickhouse优化

时间:2023-06-02 15:13:53浏览次数:33  
标签:ck ps stream E5% FLink 写入 Clickhouse row

一、背景

ck因为有合并文件操作,适合批量写入。如单条插入则速度太慢

二、Flink写入ck优化

改为分批插入,代码如下

DataStream<Row> stream = ...
stream.addSink(JdbcSink.sink(
  "INSERT INTO mytable (col1, col2) VALUES (?, ?)",
  (ps, row) -> {
    ps.setString(1, row.getField(0));
    ps.setInt(2, row.getField(1));
  },
  JdbcExecutionOptions.builder()
    .withBatchSize(1000)
    .withBatchIntervalMs(5000)
    .withMaxRetries(3)
    .build(),
  new JdbcConnectionOptions.JdbcConnectionOptionsBuilder()
    .withUrl("jdbc:clickhouse://localhost:8123/default")
    .withDriverName("ru.yandex.clickhouse.ClickHouseDriver")
    .build()
));

 

 

参考博客:https://juejin.cn/s/flink%E5%86%99%E5%85%A5clickhouse%E4%BC%98%E5%8C%96
本人程序员工具箱:www.robots2.com

标签:ck,ps,stream,E5%,FLink,写入,Clickhouse,row
From: https://www.cnblogs.com/robots2/p/17451793.html

相关文章

  • FLink怎么做压力测试和监控?
    我们一般碰到的压力来自以下几个方面:一,产生数据流的速度如果过快,而下游的算子消费不过来的话,会产生背压问题。背压的监控可以使用FlinkWebUI(localhost:8081)来可视化监控,一旦报警就能知道。一般情况下背压问题的产生可能是由于sink这个操作符没有优化好,做一下优化就可以了。比......
  • 为什么使用Flink替代Spark?
    一,Flink是真正的流处理,延迟在毫秒级,SparkStreaming是微批,延迟在秒级。二,Flink可以处理事件时间,而SparkStreaming只能处理机器时间,无法保证时间语义的正确性。三,Flink的检查点算法比SparkStreaming更加灵活,性能更高。SparkStreaming的检查点算法是在每个stage结束以后,才会保......
  • Flink流式数据缓冲后批量写入Clickhouse
    一、背景对于clickhouse有过使用经验的开发者应该知道,ck的写入,最优应该是批量的写入。但是对于流式场景来说,每批写入的数据量都是不可控制的,如kafka,每批拉取的消息数量是不定的,flink对于每条数据流的输出,写入ck的效率会十分缓慢,所以写了一个demo,去批量入库。生产环境使用还需要优......
  • flink安装(无hadoop)
    下载Flink:访问Flink的官方网站(https://flink.apache.org/),在下载页面找到适合你操作系统的预编译二进制包。选择与你的操作系统和版本相对应的下载链接,点击下载。解压二进制包:下载完成后,将二进制包解压到你想要安装Flink的目录中。你可以使用命令行工具(如tar命令)(没动)配置环......
  • flink1.14.5集群(flink on yarn)部署1
    先安装hadoop,yarn,zookeeper 配置环境变量vim/etc/profile(注意新增了HADOOP_CLASSPATH变量)exportHADOOP_CLASSPATH=`/home/opt/hadoop-2.9.2/bin/hadoopclasspath`exportFLINK_HOME=/home/opt/flink-1.14.5exportPATH=$PATH:$FLINK_HOME/binsource/etc/profile......
  • python cassandra 创建space table并写入和查询数据
     fromcassandra.clusterimportClustercluster=Cluster(["10.178.209.161"])session=cluster.connect()keyspacename="demo_space"session.execute("createkeyspace%swithreplication={'class':'SimpleStrategy&......
  • Flink CEP的使用
    探索如何使用FlinkCEP写在前面前言的前言在学习Flink的过程中,我看过很多教程。无论是视频还是博文,几乎都把FlinkCEP作为进阶内容来讲授。究其原因,大概是CEP涉及到的计算机基础知识很多,而我对于诸如NFA、DFA之类名词的印象,基本只停留在很多年前编译原理的课本上。那么如何在仅了解......
  • 【Flink系列十八】History Server 重新登场,如何跟Yarn进行集成
    先看Flink的官方文档本文适用于Flink-1.11+HistoryServer至少Flink-1.16+JobManagerThearchivingofcompletedjobshappensontheJobManager,whichuploadsthearchivedjobinformationtoafilesystemdirectory.Youcanconfigurethedirectorytoarchiveco......
  • clickhouse学习资源
    ClickHouse是一个开源的列式数据库管理系统,最初由俄罗斯搜索引擎Yandex开发。它专为OLAP(联机分析处理)场景设计,可以快速处理大量数据。以下是一些ClickHouse学习资源:ClickHouse官方文档:https://clickhouse.tech/docs/zh/ClickHouse中文文档:https://clickhouse-docs-cn.......
  • ByConity与主流开源OLAP引擎(Clickhouse、Doris、Presto)性能对比分析
    引言:随着数据量和数据复杂性的不断增加,越来越多的企业开始使用OLAP(联机分析处理)引擎来处理大规模数据并提供即时分析结果。在选择OLAP引擎时,性能是一个非常重要的因素。因此,本文将使用TPC-DS基准测试的99个查询语句来对比开源的ClickHouse、Doris、Presto以及ByConity这4个OLAP......