开源ETL工具DataX在Windows上安装部署


前言

ETL是数仓平台里面非常重要的一个组件,此前使用上海绎维公司的Fone产品,BS结构图形化界面操作,虽有一些功能操作不便,但总体来说还是可以轻松上手的,现在公司内部尝试自建数据平台,在ETL工具选择上面发现开源且有图形化界面的只有CS架构的Kettle,尝试过后发现还是有诸多不便,后来决定不强求图形化界面,试试阿里的DataX,毕竟大厂使用性能和稳定性应该还可以。

环境准备

DataX核心代码是java编写,使用入口是Python脚本,我们是从Github上下载源码,因此总结出需要准备的工具包括以下几个:

  1. Java运行环境,JDK 1.8以上版本;JDK安装和配置参考JDK安装与配置
  2. Python环境,原厂是使用Python 2,安装和配置参考‘Windows10如何安装Python2’,网上提供了支持Python3的脚本可以替换,详情可以参考Python3启动DataX
  3. Git环境,用来克隆源码;GIT安装参考Git下载、安装与环境配置
  4. Maven工具,用来打包源码;Maven安装参考Maven安装配置(Windows10)

部署测试

公司数仓用的是Greenplum,而原厂的DataX是使用PostgreSQL驱动连接Greenplum,PostgreSQL驱动写入数据采用的是insert模式,速度是GP诸多数据导入模式中最慢的一种,因此我们使用有Creenplum写入插件的HashDataInc公司的DadaX,其GP写入插件gpdbwriter采用的是Copy模式,速度相对insert有大幅度提升,HashDataInc公司的DadaX地址是:‘https://github.com/HashDataInc/DataX’。

首先进入Github页面克隆源码:

git clone https://github.com/HashDataInc/DataX.git

image-20200716133449774

然后进入到克隆下来的datax目录使用maven工具打包:

$ cd  {DataX_source_code_home}
$ mvn -U clean package assembly:assembly -Dmaven.test.skip=true

由于依赖包极多,因此打包过程比较长,我使用了一个多小时才下载完依赖包打包成功。

打包成功的结果在 {DataX_source_code_home}\target\datax-v1.0.4-hashdata\datax目录,内容如下:

image-20200716133912051

进入到打包完后程序的bin目录,运行以下命令测试是否部署成功:

cd bin
python datax.py ../job/job.json

image-20200716144357736

如果出现中文乱码,先输入CHCP 65001命令,然后再执行。


文章作者: 无咎
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 无咎 !
评论
 上一篇
CentOS安装MySQL8.0 CentOS安装MySQL8.0
MySQL8.0相对之前版本有了一些改动,本文记录一下CentOS7安装Mysql8.0的步骤。 由于centos默认源里面没有mysql,因此我们先下载rpm源,然后再安装: #回到用户目录 cd ~ #下载rpm wget http:/
2020-07-17
下一篇 
windows上安装Greenplum的客户端使用gpload windows上安装Greenplum的客户端使用gpload
前言公司数据中心搭建了一套Greenplum数仓,而我们团队有许多数据目前依赖别人的数仓进行抽取和提供,由于源数据库在内网,跟公司GP网络并不互通,因此想要利用一个可以同时访问两边数据的服务器作为ETL服务器,进而实现数据同步。同事对GP的
2020-07-13
  目录