Ck 三 靈活批量寫入大量資料至多張集群表

2021-10-03 05:10:26 字數 4277 閱讀 1467

一、前言

今天有乙個批量寫入多張集群表資料的任務。要求集群每個節點都要寫入一定資料。於是我多花了幾個小時,寫了乙個靈活的批量寫入**。以後再有類似任務可以直接拿來用。經測試是沒問題的,但是細節可能寫的不好。有空再改。

主要解決問題:clickhouse批量寫入多個節點資料。

二、開始

1、首先是clickhouse的資料來源初始化。正常使用是考慮使用balancedclickhousedatasource,但是我想**控制寫入資料量的均勻,所以使用的clickhousedatasource。

public class clickhousedatasource }}

}return sources;

}}

2、ck 批量寫入。將資料轉成tsv後寫入。clickhousedao中通過dbname和tablename查詢system.columns來獲得列的名稱和型別。即知道型別那麼即可根據型別來模擬資料

public class ckcolumn3、向多個節點寫入,使用執行緒池,每個節點對應乙個執行緒寫入。

執行緒內部邏輯

@slf4j

public class ckinsertdata extends thread

@override

public void run()

}}finally

}}

主邏輯,啟動邏輯

ublic class test 

latch.await();

system.out.println("完成!");

}}

python寫批量重新命名指令碼

批量加上字首的指令碼,可供參考 但是我發現將源目錄的檔案修改到目的目錄後,源目錄中的檔案不在了.有什麼函式可以解決嗎?coding utf 8 created on 2014.11.13 author boring2 import os def addprefix prefix,srcdir,des...

JAVA使用pipeline批量寫Redis資料

最近遇到乙個需求,需要把資料庫中的手機號批量寫入到資料庫,使用了很多的方法都效能不佳或者出現連線池斷開的問題,最後在網上找到了這個方法 public static void main string args throws exception long end system.currenttimemi...

shell結合expect寫的批量scp指令碼工具

expect用於自動化地執行linux環境下的命令列互動任務,例如scp ssh之類需要使用者手動輸入密碼然後確認的任務。有了這個工具,定義在scp過程中可能遇到的情況,然後編寫相應的處理語句,就可以自動地完成scp操作了。在部署乙個任務時,其中有一項必須的過程就是將一些檔案,如安裝包傳送到大量的伺...