Azkaban是一个批量工作流任务调度器,可以构建、执行和管理包含复杂依赖关系的工作流。您可以使用Azkaban调度云原生数据仓库 AnalyticDB 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界面,在顶部导航栏单击Project。
单击页面右上角的Create Project。
在弹出的Create Project对话框中配置Name、Description参数。
单击页面右上角的Upload。
在弹出的Upload Project Flies对话框中上传工作流文件,单击Upload。
运行工作流。
在Project页面,单击Flows页签。
单击Execute Flow。
单击Execute。
在弹出的Flow submitted对话框中,单击Continue。
查看工作流详细信息。
在顶部导航栏单击Executing。
单击Recently Finished页签。
单击Execution Id,并单击Job List页签查看每一个Job的执行详情。
单击Log查看Job的日志信息。