文档章节

TASKCTL 对开源项目DataX和Sqoop等ETL工具的支撑

 米叔
发布于 2017/08/21 11:44
字数 549
阅读 266
收藏 0
点赞 1
评论 0

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、完成模块代码的编写后,如下:

 

© 著作权归作者所有

共有 人打赏支持
粉丝 4
博文 5
码字总数 3907
作品 0
成都
架构师
Datax与hadoop2.x兼容部署与实际项目应用工作记录分享

一、概述 Hadoop的版本更新挺快的,已经到了2.4,但是其周边工具的更新速度还是比较慢的,一些旧的周边工具版本对hadoop2.x的兼容性做得还不完善,特别是sqoop。最近,在为hadoop2.2.0找适合...

zengzhaozheng
07/02
0
0
ETL for Oracle to PostgreSQL 3 - DATAX

标签 PostgreSQL , Oracle , ETL , datax 背景 Datax是阿里巴巴开源的一款ETL工具,在云端可以作为服务直接使用,同时用户也可以下载开源代码自行部署。 1 开源Datax http://gitlab.alibaba...

德哥
05/06
0
0
DataX工具迁移DRDS到DRDS使用介绍

DATAX介绍 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等...

红隐
04/13
0
0
2018年5月大数据ACP考试题目回顾

大数据 ACP 考试考试题目回顾 参数 任务调度时间为,那么的结果为 A. 是 B. 否 答案: A 解析: 可以任意分解组合,即某一时刻进行调度就显示某个时间的值,精确到秒 union all t1和t2两张表...

卓见架构狮
05/25
0
0
从SQL Server到MySQL,近百亿数据量迁移实战

沪江成立于 2001 年,作为较早期的教育学习网站,当时技术选型范围并不大:Java 的版本是 1.2,C# 尚未诞生,MySQL 还没有被 Sun 收购,版本号是 3.23。工程师们选择了当时最合适的微软体系,...

狄敬超(3D)
05/29
0
0
实验:关于XPath中的13个轴

XSLT使用XPath来找寻XML文档中的信息,这几天在学习XSLT的找寻路径过程中,我写了下面这个例子,来加深我对XPath中各个轴的概念的理解 测试用的XML文档和XSLT文档 XML文档:LogReport.xml <...

北风其凉
2015/02/08
0
0
说说ETL调度工具TASKCTL的五宗最

这段时间,我一边研究网上公开的调度工具TASKCTL,一边看大鹏嘚吧嘚,一边是惊喜,一边是欢乐。大鹏嘚吧嘚有五宗最,很八卦,让我也给TASKCTL凑五宗罪,这绝对值得我们ETL技术人员学习与思索...

捷宝大大
2013/04/05
0
2
ETL调度技术平台--TASKCTL

ETL的技术本质是:通过调度管理控制一系列具有数据处理功能的各种程序有序地运行。因此,有人总结:“ETL是BI(商业智能)的基础,调度是ETL的灵魂”。从功能层面讲,调度是ETL技术体系的重要...

施鹏飞
2013/01/26
18.3K
14
HData——ETL 数据导入/导出工具

HData是一个异构的ETL数据导入/导出工具,致力于使用一个工具解决不同数据源(JDBC、Hive、HDFS、HBase、MongoDB、FTP、Http、CSV、Excel、Kafka等)之间数据交换的问题。HData在设计上同时参...

oschina
2016/07/10
943
0
突破自我—一文看尽DataWorks全新升级以及在城市大脑的广泛应用

在2018年云栖大会·深圳峰会的专有云专场中,来自阿里云的大数据专家张辉(士诚)为现场的听众带来了题为《DataWorks全新升级以及在城市大脑的广泛应用》的技术分享。在本次分享中,士诚重点...

笑傲江湖lcx
05/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

告警系统主脚本、告警系统配置文件、告警系统监控项目

告警系统主脚本 为方便需要,所有的shell脚本放到 /usr/local/sbin/ 目录下 切换到 /usr/local/sbin/ 目录下,创建告警系统脚本 #!/bin/bash#Written by aming.# 是否发送邮件的开关(1表...

Zhouliang6
3分钟前
1
0
不要再问我跨域的问题了

原文链接:web.jobbole.com 【RTC实时互联网大会 限时免费 马上报名】www.bagevent.com 写下这篇文章后我想,要不以后就把这种基础的常见知识都归到这个“不要再问我XX的问题”,形成一系列内...

阿K1225
5分钟前
0
0
Tomcat配置虚拟路径

<?xml version="1.0" encoding="UTF-8"?> <Context docBase="/data/dispute_https/headPortrait/" path="/headPortrait" reloadable="true"/> <!-- 该文件名为headPortrait.xml,放在${tomca......

Helios51
6分钟前
0
0
开源PaaS Rainbond 3.6.1 Released

本次3.6.1版本更新,重点修复了3.6.0版本部分情况下会出现的BUG,同时改进了内部市场、参数验证、历史消息等功能,详细更新记录如下—— 3.6.1 功能改进 云帮初次使用跳转至注册页面 消息添加...

好雨云帮
6分钟前
0
0
Unsupported major.minor version 52.0

执行代码的jdk版本 低于 编译的jdk版本 其中52.0 对应的就是 jdk1.8版本。

@林文龙
6分钟前
0
0
聊聊spring cloud的AbstractLoadBalancingClient

序 本文主要研究一下spring cloud的AbstractLoadBalancingClient AbstractLoadBalancingClient spring-cloud-netflix-ribbon-2.0.0.RELEASE-sources.jar!/org/springframework/cloud/netfli......

go4it
8分钟前
0
0
博客改版通知

先上博客地址 --> http://metaphors.name 最近将博客从 Jekyll 迁到了 Hexo,所以简书、开源中国、博客园、CSDN文章中的的部分图片丢了,原文链接也不可用了,不过没关系,原文链接都会转到博...

Metaphors
8分钟前
0
0
vue基础知识练习

一、Hello World <div id="itany">{{msg}} <!-- 两对大括号{{}}称为模板,用来进行数据的绑定显示在页面中 --> </div><script src="js/vue.js"></script><script>var vm=new Vue({......

一个yuanbeth
12分钟前
0
0
spring @Transactional注解参数详解

原文:事物注解方式: @Transactional 当标于类前时, 标示类中所有方法都进行事物处理 , 例子: 1 @Transactional public class TestServiceBean implements TestService {} 当类中某些方法不需...

binhu
15分钟前
0
0
CORS 跨域实践

本文首发于个人微信公众号《andyqian》,期待你的关注~ 前言 系统通常都是由单体应用逐渐演化而来,演化成为前后端分离的分布式应用。在享受分布式系统带来的诸多好处之时,随之而来的也有不...

andyqian
22分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部