Azkaban是一個批量工作流程工作調度器,可以構建、執行和管理組件含複雜依賴關係的工作流程。您可以使用Azkaban調度AnalyticDB for MySQL的XIHE SQL作業。
前提條件
在安裝Azkaban的伺服器上,已安裝MySQL服務端。具體操作,請參見MySQL官方文檔。
已安裝Azkaban。具體操作,請參見Azkaban官方文檔。
已將運行Azkaban的伺服器IP地址添加至AnalyticDB for MySQL叢集的白名單中。具體操作,請參見設定白名單。
資料準備
本文樣本的AnalyticDB for MySQL資料庫名為azkaban_test,在該庫中建立一張名為azkaban_test.names的表,並插入測試資料,樣本如下:
-- 建立資料庫
CREATE DATABASE azkaban_test;
-- 建立表
CREATE TABLE azkaban_test.names (
id BIGINT,
name STRING
);
-- 插入資料
INSERT INTO azkaban_test.names VALUES(1, 'Li'), (2, 'Yang');操作步驟
編寫工作流程檔案。
建立工作流程檔案夾,並在該檔案夾下建立開始任務、查詢任務、結束任務的指令碼。
開始任務的指令碼:
#start type=command command=echo 'job start'查詢任務的指令碼:
type=command dependencies=start command=mysql -hamv-bp165vrm0g8s****.ads.aliyuncs.com -utest -padb14**** -P3306 -e "create table azkaban_test.duplicated_names as select * from azkaban_test.names"參數說明:
-h:AnalyticDB for MySQL叢集的串連地址。可通過控制台叢集資訊頁面,查看串連資訊。
-u:AnalyticDB for MySQL叢集的資料庫帳號。
-p:AnalyticDB for MySQL叢集的資料庫名稱。
-P:AnalyticDB for MySQL叢集的連接埠號碼,固定為3306。
-e:業務具體的SQL語句。
結束任務的指令碼:
#end type=command dependencies=exec_query command=echo 'job end'
將工作流程檔案夾壓縮成ZIP格式。
建立專案並上傳步驟1壓縮的工作流程檔案。
訪問Azkaban Web介面,在頂部導覽列單擊Projects。
單擊頁面右上方的Create Project。
在彈出的Create Project對話方塊中配置Name、Description參數。
單擊頁面右上方的Upload。
在彈出的Upload Project Flies對話方塊中上傳工作流程檔案,單擊Upload。
運行工作流程。
在Projects頁面,單擊Flows頁簽。
單擊Execute Flow。
單擊Execute。
在彈出的Flow submitted對話方塊中,單擊Continue。
查看工作流程詳細資料。
在頂部導覽列單擊Executing。
單擊Recently Finished頁簽。
單擊Execution Id,並單擊Job List頁簽查看每一個Job的執行詳情。
單擊Logs查看Job的日誌資訊。