?今天給大家分享主流大數據調度工具DolphinScheduler,以及數據的ETL流程。
一:調度工具DS
主流大數據調度工具DolphinScheduler,
其定位:解決數據處理流程中錯綜復雜的依賴關系
任務支持類型:支持傳統的shell任務,同時支持大數據平臺任務調度:MR、Spark、SQL(mysql、postgresql、hive/sparksql)、python、procedure、sub_process。
二,數據ETL流程(調度流程)
今天分享一個把數據從hive推送到人大金倉數據庫的案例。
1,源數據--hive
hive表數據如圖所示,
在這里一共5條數據,展示的4個字段都是主鍵,dt為分區。
2,DS主界面
項目管理主界面,包含了很多的工作流,工作流需要自己配置。
3,創建工作流
在這里,我們寫一個export的sheet頁,主要實現數據從hive推送到數據庫。
dept的內容是指的是前置依賴。
4,工作流內容配置
表名是? f_con_fund_deal_reminder
前綴 export 指的是數據推送,一般就是把數據從hive推送到其他數據庫。
最重要的是腳本內容:
這里腳本內容是支持shell任務,所以大家一定要懂shell語法。
當然還要再設置參數,這里根據shell內容來,參數可以設置多個。
5,shell腳本開發
在這里底層邏輯采用datex的方式來進行數據的ETL。
5.1,日期配置
涉及時間或者其他參數的傳參。
5.2,源表配置
這里的查詢語句? query_sql,是可以將其查詢出來的數據進行數據的傳輸(功能強大!!!)。
5.3,目標表配置
tgt_tab_pkey : 是數據庫該表的主鍵。(下次ETL,如果數據發生變更,會把同主鍵的數據進行變更。)
tgt_tab_column : 是源表查詢出來的字段映射到目標表的字段(映射靈活)。
tgt_pre_sql : 在數據ETL之前,可以先對數據庫的表先進行操作(牛逼)。
5.4,其他配置
該調度是自然日跑批還是交易日跑批。
通用配置:這部分不需要大家更改。
底層邏輯采用datex的方式來進行數據的ETL,
寫在了comment_data_sync.sh里面了。
6,參數的設置/調度運行
是否補數:就是可以跑批任意哪一天的調度。
調度日期:需要自己設置。然后點擊運行。
7,在目標庫看ETL結果
查詢發現,只有4條數據。要的就是這個,因為我們設置主鍵了。
同主鍵數據,會隨機插入一條數據。這個大家看步驟一。
8,工作流日志
看看工作日志長啥樣,里面運行了什么。
發現有剛剛的shell腳本運行過程:
打印最終數據推送的結果:
好啦,今天這篇主流調度工具DS的簡單介紹,以及工作流創建,腳本開發,調度流程,日志查看,一整個流程,就分享到這里。
下次再見!