首页>>互联网>>大数据->异构数据源离线同步工具之DataX

异构数据源离线同步工具之DataX

时间:2023-11-29 本站 点击:0

DataX

GitHub地址:https://github.com/alibaba/DataX

安装DataX

安装dataX有两种方式,一种是tar.gz直接安装,一种是用源码自行编译安装。这里使用tar.gz直接安装

方法一

直接下载DataX工具包:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

下载后解压至本地某个目录,进入bin目录,即可运行同步作业:

$ cd  {YOUR_DATAX_HOME}/bin$ python datax.py {YOUR_JOB.json}

自检脚本:

python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json

方法二

下载DataX源码,自己编译:DataX源码

(1)、下载DataX源码:

$ git clone git@github.com:alibaba/DataX.git

(2)、通过maven打包:

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

打包成功,日志显示如下:

[INFO] BUILD SUCCESS[INFO] -----------------------------------------------------------------[INFO] Total time: 08:12 min[INFO] Finished at: 2015-12-13T16:26:48+08:00[INFO] Final Memory: 133M/960M[INFO] -----------------------------------------------------------------

打包成功后的DataX包位于 {DataX_source_code_home}/target/datax/datax/ ,结构如下:

$ cd  {DataX_source_code_home}$ ls ./target/datax/datax/bin     conf        job     lib     log     log_perf    plugin      script

系统要求

LinuxJDK(1.8以上,推荐1.8)Python(2或3都可以)Apache Maven 3.x (Compile DataX)

下载与安装

wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gztar -zxvf datax.tar.gzcd datax

DataX基本使用

1.官方演示案例

使用官方演示案例,执行自检脚本:

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

报错:

DataX (DATAX-OPENSOURCE-3.0), From Alibaba !Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.2022-05-12 17:02:28.374 [main] WARN  ConfigParser - 插件[streamreader,streamwriter]加载失败,1s后重试... Exception:Code:[Common-00], Describe:[您提供的配置文件存在错误信息,请检查您的作业配置 .] - 配置信息错误,您提供的配置文件[/usr/local/program/datax/plugin/reader/._hbase094xreader/plugin.json]不存在. 请检查您的配置文件. 2022-05-12 17:02:29.382 [main] ERROR Engine - 经DataX智能分析,该任务最可能的错误原因是:com.alibaba.datax.common.exception.DataXException: Code:[Common-00], Describe:[您提供的配置文件存在错误信息,请检查您的作业配置 .] - 配置信息错误,您提供的配置文件[/usr/local/program/datax/plugin/reader/._hbase094xreader/plugin.json]不存在. 请检查您的配置文件.        at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:26)        at com.alibaba.datax.common.util.Configuration.from(Configuration.java:95)        at com.alibaba.datax.core.util.ConfigParser.parseOnePluginConfig(ConfigParser.java:153)        at com.alibaba.datax.core.util.ConfigParser.parsePluginConfig(ConfigParser.java:125)        at com.alibaba.datax.core.util.ConfigParser.parse(ConfigParser.java:63)        at com.alibaba.datax.core.Engine.entry(Engine.java:137)        at com.alibaba.datax.core.Engine.main(Engine.java:204)

删除datax/plugin/readerdatax/plugin/writer/下所有._xxxx隐藏文件

python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json0

再次执行:python bin/datax.py job/job.json

python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json1

2.从stream读取数据并打印到控制台

查看配置模板

可以通过命令查看配置模板: python datax.py -r {YOUR_READER} -w {YOUR_WRITER}

python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json2

python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json3

创建作业配置文件

根据模板配置,创建作业配置文件vim stream2stream.json

python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json4

启动DataX

python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json5

python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json6

3.从MySQL抽取数据到HDFS

获取配置模板

python bin/datax.py -r mysqlreader -w hdfswriter

python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json7

创建作业配置文件

python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json8

启动DataX

python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json9

$ git clone git@github.com:alibaba/DataX.git0

4.从Hive抽取数据到MySQL

准备Hive数据

创建Hive外部表

$ git clone git@github.com:alibaba/DataX.git1

创建vim tb_user.text并添加如下数据

$ git clone git@github.com:alibaba/DataX.git2

上传到Hive外部表/hive/warehouse/tb_user目录下

$ git clone git@github.com:alibaba/DataX.git3

查看tb_user表数据

$ git clone git@github.com:alibaba/DataX.git4

查看配置模板

$ git clone git@github.com:alibaba/DataX.git5

$ git clone git@github.com:alibaba/DataX.git6

创建作业配置文件

$ git clone git@github.com:alibaba/DataX.git7

启动DataX

$ git clone git@github.com:alibaba/DataX.git8

$ git clone git@github.com:alibaba/DataX.git9

DataX Web

DataX Web是在DataX之上开发的分布式数据同步工具,提供简单易用的 操作界面,降低用户使用DataX的学习成本,缩短任务配置时间,避免配置过程中出错。

学习参考:https://blog.csdn.net/qq_38628046/article/details/124769355

原文:https://juejin.cn/post/7097589979492122638


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/BigData/1297.html