一、前言
今天有乙個批量寫入多張集群表資料的任務。要求集群每個節點都要寫入一定資料。於是我多花了幾個小時,寫了乙個靈活的批量寫入**。以後再有類似任務可以直接拿來用。經測試是沒問題的,但是細節可能寫的不好。有空再改。
主要解決問題: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操作了。在部署乙個任務時,其中有一項必須的過程就是將一些檔案,如安裝包傳送到大量的伺...