天天看點

StreamSets實戰之路(十四)-實戰篇- 定時資料遷移最終資料流的效果圖:前期準備:建構步驟:

主要通過一個定時資料遷移的案例來介紹Streamsets(3.20.0 漢化版)的使用,主要将mysql的資料定時将前一天的資料遷移到ES中,主要包括任務排程器、定時啟動資料遷移資料流等。  

學習目的:學習使用排程器定時排程資料遷移資料流、學習資料遷移的流程、學習怎麼自動關閉資料流和消息提醒。

最終資料流的效果圖:

需要配置兩個資料流

StreamSets實戰之路(十四)-實戰篇- 定時資料遷移最終資料流的效果圖:前期準備:建構步驟:

資料遷移排程器資料流

StreamSets實戰之路(十四)-實戰篇- 定時資料遷移最終資料流的效果圖:前期準備:建構步驟:

資料遷移工作流

StreamSets實戰之路(十四)-實戰篇- 定時資料遷移最終資料流的效果圖:前期準備:建構步驟:

前期準備:

(1)需要在mysql資料庫中準備一張每天都有新增資料的表,該表必須有一個時間字段,用于選取時間範圍。

建構步驟:

1.首先建構資料遷移資料流

從mysql中讀取資料我們選用origin類JDBC插件,做一些配置,包括:連接配接串、使用者名密碼、根據資料遷移排程器傳來的時間範圍配置查詢SQL語句、Max Batch Size (Records)等等。

注意:為什麼選用origin類的JDBC插件讀取資料而不選取processors類的JDBC插件讀取資料呢?大家思考一下。

StreamSets實戰之路(十四)-實戰篇- 定時資料遷移最終資料流的效果圖:前期準備:建構步驟:

配置一下ES配置資訊,包括位址、使用者名密碼、索引名、索引類型等,這裡不需要我們在ES中提前建索引,ES會根據資料生成索引,當然還是建議大家去自己動手建索引。

StreamSets實戰之路(十四)-實戰篇- 定時資料遷移最終資料流的效果圖:前期準備:建構步驟:

配置一個任務完成就自動關閉資料流的插件,條件為${record:eventType() == 'no-more-data'},也就是今天的資料遷移完後,自動關閉該資料流。

StreamSets實戰之路(十四)-實戰篇- 定時資料遷移最終資料流的效果圖:前期準備:建構步驟:

在資料流配置中配置一個任務提醒,當任務出現錯誤或停止或完成時會通過郵件發送通知。

StreamSets實戰之路(十四)-實戰篇- 定時資料遷移最終資料流的效果圖:前期準備:建構步驟:

資料流預設的啟動參數

StreamSets實戰之路(十四)-實戰篇- 定時資料遷移最終資料流的效果圖:前期準備:建構步驟:

2.建構資料遷移排程器資料流

StreamSets實戰之路(十四)-實戰篇- 定時資料遷移最終資料流的效果圖:前期準備:建構步驟:

通過Groovy腳本插件将排程器生成的時間戳生成資料查詢的時間範圍。

StreamSets實戰之路(十四)-實戰篇- 定時資料遷移最終資料流的效果圖:前期準備:建構步驟:

通過資料流啟動插件啟動資料遷移資料流,需要配置資料遷移資料流的位址、ID、資料遷移資料流的啟動參數、指定streamset的使用者名密碼。

StreamSets實戰之路(十四)-實戰篇- 定時資料遷移最終資料流的效果圖:前期準備:建構步驟:

Streamsets實戰之路正在更新中,盡情期待!!!

此文章為部落客原創,轉載請标明出處和原始連結,謝謝。

繼續閱讀