TASKCTL 对开源项目DataX和Sqoop等ETL工具的支撑 - ETL批量调度工具的个人空间 - OSCHINA - 中文开源技术交流社区


本站和网页 https://my.oschina.net/u/944575/blog/1517898 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

TASKCTL 对开源项目DataX和Sqoop等ETL工具的支撑 - ETL批量调度工具的个人空间 - OSCHINA - 中文开源技术交流社区
首页
资讯
摸鱼
专区
问答
GOTC2023
活动
开源活动
开源创新大赛
软件库
2022年度评选
Tool
博客
Gitee
首页
资讯
摸鱼
专区
问答
GOTC2023
活动
开源活动
开源创新大赛
软件库
2022年度评选
Tool
博客
Gitee
OSCHINA 小程序 —— 关注技术领域的头条文章
聚合全网技术文章,根据你的阅读喜好进行个性推荐
登录
注册
开源博客
写博客
ETL批量调度工具的个人空间
转贴的文章
正文
TASKCTL 对开源项目DataX和Sqoop等ETL工具的支撑
原创
ETL批量调度工具
转贴的文章
2017/08/21 11:44
阅读数 2.6K
本文被收录于专区
AI & 大数据
进入专区参与更多专题讨论
1、阿里开源软件:DataX
DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
2、Apache开源软件:Sqoop
Sqoop(发音:skup)是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
TASKCTL采用任务插件机制,以适配不同类型的任务,采用TASKCTL任务插件调度作业,具有统一的操作命令,统一的监控方式,统一的运维方式。下面以调度DataX作业类型为例:
$ cd {YOUR_DATAX_DIR_BIN}
$ python datax.py ./mysql2odps.json
我们可以看到调用datax,实际上是调用python脚本。
因此我们可以直接在taskctl中配置作业的xml片段如下:
<python>
<name>datax_job</name>
<progname>datax.py</progname> -- 此处有可能需要定位到cd {YOUR_DATAX_DIR_BIN}
<para>./mysql2odps.json</para>
</python>
当然,如果要使datax作业类型看起来更加个性化点(或者在插件中适配点什么)。我们还可以datax配置单独的任务插件,步骤如下:
1、编写调用datax的脚本文件cprundataxjob.sh:
#!bin/bash
if [ $# -ne 3 ]
then
echo "Param error !"
echo "Usage: $0 progname para expara"
exit 126
fi
#------------------------------------------------------------------------------
# 第一步: 接收参数
#------------------------------------------------------------------------------
ProgName=$1
Para=$2
ExpPara=$3
#------------------------------------------------------------------------------
# 第二步: 运行JOB,并等待结果
#------------------------------------------------------------------------------
#cd {YOUR_DATAX_DIR_BIN} --相当于TASKCTL中的exppara环境参数
cd ${ExpPara}
#python datax.py ./mysql2odps.json
python datax.py ${ProgName}
#收集datax.py执行结果
retinfo=$?
#------------------------------------------------------------------------------
# 第四步: 插件返回
#------------------------------------------------------------------------------
#根据retinfo的信息,返回给TASKCTL
if [ ${retinfo} -eq 0 ]
then
echo ""
echo "Run job success !"
else
echo ""
echo "Run job failed !"
fi
exit ${retinfo}
配置后,把cprundataxjob.sh放到TASKCTL服务端的$TASKCTLDIR/src/plugin/dataxjob/shell/目录下
2、在TASKCTL桌面软件admin中配置插件如下图:
3、在designer中编写模块代码如下:
<dataxjob>
<name>MainModul_JobNode0</name>
<progname>./mysql2odps.json</progname>
<exppara>[你的datax安装路径]</exppara>
</dataxjob>
4、完成模块代码的编写后,如下:
展开阅读全文
DataX Spoon ETL
著作权归作者所有
举报
加载中
点击引领话题📣
取消
发布
0" class="recommend-box">
作者的其它热门文章
{{formatHtml(o.title)}}
打赏
1 赞
1 收藏
微信
QQ
微博
分享
关于作者
ETL批量调度工具
架构师
关注
私信
提问
文章
86
经验值
1.8K
粉丝
关注
作者的专辑
全部
工作日志(83)
日常记录(2)
转贴的文章(1)
源创计划
立即入驻
自媒体入驻开源社区,
获百万流量,打造个人技术品牌
推荐关注
换一批
wphmoon
文章 37
访问 18.7W
逅弈逐码
文章 15
访问 11.3W
木九天
文章 377
访问 207.3W
九州暮云
文章 163
访问 95.1W
天涯望帆
开源软件作者
打赏
0 评论
1 收藏
1 赞
微信
QQ
微博
分享
选择专区和圈子:{{title}}
{{o.name}}
{{m.name}}
取消
确定
OSCHINA 社区
关于我们
联系我们
加入我们
合作伙伴
Open API
在线工具
Gitee.com
企业研发管理
CopyCat-代码克隆检测
实用在线工具
国家反诈中心APP下载
攻略
项目运营
Awesome 软件(持续更新中)
QQ群
530688128
公众号
视频号
OSCHINA 小程序
聚合全网技术文章,根据你的阅读喜好进行个性推荐
OSC小程序
©OSCHINA(OSChina.NET)
工信部
开源软件推进联盟
指定官方社区
社区规范
深圳市奥思网络科技有限公司版权所有
粤ICP备12009483号
顶部