文档章节

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

 米叔
发布于 2017/08/21 11:44
字数 549
阅读 1K
收藏 1

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

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
成都
架构师
私信 提问
加载中

评论(0)

TASKCTL对开源ETL工具的支撑情况,如阿里开源的DATAX、SQOOP、kettle等?

这里想问一下TASKCTL目前对开源ETL工具的支撑情况,如阿里开源的DATAX、SQOOP、kettle等是否提供支持呢?支持有范例吗?

老衲大海
2017/08/17
341
0
Datax与hadoop2.x兼容部署与实际项目应用工作记录分享

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

zengzhaozheng
2018/07/02
0
0
【转】阿里出品的ETL工具dataX初体验

原文链接:https://www.imooc.com/article/15640 来源:慕课网 我的毕设选择了大数据方向的题目。大数据的第一步就是要拿到足够的数据源。现实情况中我们需要的数据源分布在不同的业务系统中...

osc_y499kuvp
2018/07/02
38
0
ETL for Oracle to PostgreSQL 3 - DATAX

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

德哥
2018/05/06
0
0
Alibaba DataX 源码编译

Alibaba DataX 源码编译 标签(空格分隔): ETL #DataX简介 设计理念 为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接各种数据...

osc_vh89klm7
2019/05/27
23
0

没有更多内容

加载失败,请刷新页面

加载更多

c/c++编写window服务的授权服务(二)

//c/c++编写window服务的授权服务(二) //定义授权服务的头文件LicenseService.h #pragma once //建立工程:win32控制平台应用程序 //LicenseService.cpp //用C/C++编写的Window服务一例 //安...

osc_wxsc35it
刚刚
0
0
开发一个大型后台管理系统,应该用前后端分离的技术方案吗?

话说这天,我们团队开会讨论了一个问题,不,与其说“讨论”,不如说“争吵”更合适。 背景是这样的: 我们要开发一个 xxx 后台管理系统,这个系统业务复杂、功能又多,大家的争吵集中在“这...

osc_qalfjuu8
2分钟前
0
0
美团点评的移动端网络优化实践:大幅提升连接成功率、速度等

1、引言 网络优化对于移动端App产品的用户体验至关重要,也与公司的运营和营收息息相关。 这里列举两个公开的数据: “《页面加载超过3秒,57%的用户会离开》” “《Amazon页面加载延长1秒,...

imtech
3分钟前
5
0
在webstorm 中直接运行ts文件

安装插件后重启IDE Run Configuration for TypeScript

阿豪boy
3分钟前
13
0
PyCharm2020激活破解教程

本文内容皆为作者原创,如需转载,请注明出处:https://www.cnblogs.com/xuexianqi/p/12767075.html 正版肯定是要支持的,但是贫穷限制了我。现在买是不可能买的,只能靠着破解激活来维持生计...

osc_91g5cdgs
4分钟前
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部