SeaTunnel 是乙個分布式、高效能且易於擴充套件的資料整合平台,用於海量資料同步和轉換。 可實現MySQL、Oracle、SqlServer、PostgreSQL、MongoDB2、Redis等各種異構資料來源之間穩定高效的資料同步。 您只需配置作業資訊即可同步資料。 提交作業後,源聯結器負責並行讀取資料,並將其傳送到下游轉換或直接傳送到接收器,接收器將資料寫入目標。
Seatunnle的特點:
豐富且可擴充套件的聯結器:Seatunnle 提供了乙個不依賴於特定執行引擎的聯結器 API。 基於此 API 開發的聯結器(source、transform、sink)可以執行在許多不同的引擎上,例如當前支援的 seatunnle 引擎、flink、spark。 聯結器外掛程式:外掛程式設計允許使用者輕鬆開發自己的聯結器並將它們整合到 seatunnle 專案中。 目前,Seatunnle 已經支援 100 多個聯結器,而且這個數字還在增長。 批量流式處理整合:基於Seatunnle聯結器API開發的聯結器,完美相容離線同步、實時同步、全量同步、增量同步等場景。 大幅降低資料整合任務的管理難度。 多引擎支援:預設情況下,seatunnle 使用 seatunnle 引擎進行資料同步。 同時,Seatunnle 還支援使用 Flink 或 Spark 作為聯結器的執行引擎,以適應企業現有的技術元件。 Seatunnle 支援多個版本的 Spark 和 Flink。 JDBC多路復用,資料庫日誌多表解析:Seatunnle 支援多表或全庫同步,解決了 JDBC 連線過多的問題支援多表或全庫日誌讀寫解析,解決了CDC多表同步場景下日誌重複讀解析的問題。 高吞吐量和低延遲Seatunnle支援並行讀寫,提供穩定可靠的資料同步,高吞吐量和低延遲。 完善的實時監控:Seatunnle支援資料同步過程中每個步驟的詳細監控資訊,方便使用者了解同步任務的讀寫資料量、資料大小、QPS等資訊。 ClickHouse是ORAP**分析領域的一顆冉冉公升起的新星,擁有出色的查詢效能和豐富的分析功能,可以幫助分析師靈活、快速地提取海量資料的價值。
將Oracle資料同步到ClickHouse,有助於提高資料處理速度和查詢效能,提供更好的資料管理和分析能力,降低成本,提高經濟效益。
本文介紹如何使用Seatunnle將Oracle資料同步到ClickHouse資料倉儲。
Seatunnel 任務配置和啟動
在此示例中,Oracle 測試表中的 9,999 個資料條目將同步到預設值test0 中。
Oracle 表建立語句,如下所示:
create table test (id int,name varchar(40),quantity int,primary key (id) )
按以下格式將資料插入 Oracle:
insert into test (id,name,quantity) values(1,'banana',1);
ClickHouse的表建立如下:
create table default.test0
id` int32,`name` string,`quantity` int32
engine = mergetree
primary key id
order by id
1、**jdbc
*Oracle JDBC 並將其放入'$seatnunnel_home/plugins/jdbc/'目錄。
2. 編寫配置檔案
在'$seatnunnel_home/config'目錄中,建立配置檔案。
配置檔案內容示例如下:
env sink
3. 啟動任務
在'$seatnunnel_home'目錄中,請使用啟動命令:
bin/seatunnel.sh --config ./config/oracletock.template -e local
此命令將在本地模式下執行您的 seatunnel 作業。
任務完成後,將顯示任務的摘要資訊
進入 ClickHouse,從 test0 中選擇 count(),檢視寫入狀態,看到 9,999 條測試資料已經寫入 ClickHouse。
接下來,我們將詳細介紹從資料庫到clickhouse的資料同步過程。