Azkaban調(diào)度XIHE SQL
Azkaban是一個(gè)批量工作流任務(wù)調(diào)度器,可以構(gòu)建、執(zhí)行和管理包含復(fù)雜依賴關(guān)系的工作流。您可以使用Azkaban調(diào)度云原生數(shù)據(jù)倉(cāng)庫(kù) AnalyticDB MySQL 版的XIHE SQL作業(yè)。
前提條件
在安裝Azkaban的服務(wù)器上,已安裝MySQL服務(wù)端。具體操作,請(qǐng)參見(jiàn)MySQL官方文檔。
已安裝Azkaban。具體操作,請(qǐng)參見(jiàn)Azkaban官方文檔。
已將運(yùn)行Azkaban的服務(wù)器IP地址添加至AnalyticDB for MySQL集群的白名單中。具體操作,請(qǐng)參見(jiàn)設(shè)置白名單。
數(shù)據(jù)準(zhǔn)備
本文示例的AnalyticDB for MySQL數(shù)據(jù)庫(kù)名為azkaban_test
,在該庫(kù)中創(chuàng)建一張名為azkaban_test.names
的表,并插入測(cè)試數(shù)據(jù),示例如下:
-- 創(chuàng)建數(shù)據(jù)庫(kù)
CREATE DATABASE azkaban_test;
-- 創(chuàng)建表
CREATE TABLE azkaban_test.names (
id BIGINT,
name STRING
);
-- 插入數(shù)據(jù)
INSERT INTO azkaban_test.names VALUES(1, 'Li'), (2, 'Yang');
操作步驟
編寫工作流文件。
創(chuàng)建工作流文件夾,并在該文件夾下創(chuàng)建開(kāi)始任務(wù)、查詢?nèi)蝿?wù)、結(jié)束任務(wù)的腳本。
開(kāi)始任務(wù)的腳本:
#start type=command command=echo 'job start'
查詢?nèi)蝿?wù)的腳本:
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"
參數(shù)說(shuō)明:
-h:AnalyticDB for MySQL集群的連接地址。可通過(guò)控制臺(tái)集群信息頁(yè)面,查看連接信息。
-u:AnalyticDB for MySQL集群的數(shù)據(jù)庫(kù)賬號(hào)。
-p:AnalyticDB for MySQL集群的數(shù)據(jù)庫(kù)名稱。
-P:AnalyticDB for MySQL集群的端口號(hào),固定為3306。
-e:業(yè)務(wù)具體的SQL語(yǔ)句。
結(jié)束任務(wù)的腳本:
#end type=command dependencies=exec_query command=echo 'job end'
將工作流文件夾壓縮成ZIP格式。
創(chuàng)建項(xiàng)目并上傳步驟1壓縮的工作流文件。
訪問(wèn)Azkaban Web界面,在頂部導(dǎo)航欄單擊Project。
單擊頁(yè)面右上角的Create Project。
在彈出的Create Project對(duì)話框中配置Name、Description參數(shù)。
單擊頁(yè)面右上角的Upload。
在彈出的Upload Project Flies對(duì)話框中上傳工作流文件,單擊Upload。
運(yùn)行工作流。
在Project頁(yè)面,單擊Flows頁(yè)簽。
單擊Execute Flow。
單擊Execute。
在彈出的Flow submitted對(duì)話框中,單擊Continue。
查看工作流詳細(xì)信息。
在頂部導(dǎo)航欄單擊Executing。
單擊Recently Finished頁(yè)簽。
單擊Execution Id,并單擊Job List頁(yè)簽查看每一個(gè)Job的執(zhí)行詳情。
單擊Log查看Job的日志信息。