Datax安装及基本使用

article/2025/10/13 2:56:10

文章目录

  • 一、Datax概述
    • 1.概述
    • 2.DataX插件体系
    • 3.DataX核心架构
  • 二、安装
    • 2.1下载并解压
    • 2.2运行自检脚本
  • 三、基本使用
    • 3.1从stream读取数据并打印到控制台
      • 1. 查看官方json配置模板
      • 2. 根据模板编写json文件
      • 3. 运行Job
    • 3.2 Mysql导入数据到HDFS
      • 1. 查看官方json配置模板
      • 2. 根据模板编写json文件
      • 3. 运行Job
    • 3.3 HDFS数据导出到Mysql
      • 1. 将3.2中导入的文件重命名并在数据库创建表
      • 2. 查看官方json配置模板
      • 3. 根据模板编写json文件
      • 4. 运行Job
    • 3.4 mysql同步到mysql
    • 3.5 mysql同步到hbase
    • 3.6 hbase同步到hbase
    • 3.7 hbase同步到mysql
  • 四、辅助资料

一、Datax概述

1.概述

在这里插入图片描述

2.DataX插件体系

在这里插入图片描述

3.DataX核心架构

在这里插入图片描述

二、安装

2.1下载并解压

源码地址: https://github.com/alibaba/DataX
这里我下载的是最新版本的 DataX3.0 。下载地址为:
http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

# 下载后进行解压
[xiaokang@hadoop ~]$ tar -zxvf datax.tar.gz -C /opt/software/

2.2运行自检脚本

[xiaokang@hadoop ~]$ cd /opt/software/datax/
[xiaokang@hadoop datax]$ bin/datax.py job/job.json

出现以下界面说明DataX安装成功
在这里插入图片描述

三、基本使用

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

1. 查看官方json配置模板

[xiaokang@hadoop ~]$ python /opt/software/datax/bin/datax.py -r streamreader -w streamwriterDataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.Please refer to the streamreader document:https://github.com/alibaba/DataX/blob/master/streamreader/doc/streamreader.md Please refer to the streamwriter document:https://github.com/alibaba/DataX/blob/master/streamwriter/doc/streamwriter.md Please save the following configuration as a json file and  usepython {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json 
to run the job.{"job": {"content": [{"reader": {"name": "streamreader", "parameter": {"column": [], "sliceRecordCount": ""}}, "writer": {"name": "streamwriter", "parameter": {"encoding": "", "print": true}}}], "setting": {"speed": {"channel": ""}}}
}

2. 根据模板编写json文件

{"job": {"content": [{"reader": {"name": "streamreader", "parameter": {"column": [{"type":"string","value":"xiaokang-微信公众号:小康新鲜事儿"},{"type":"string","value":"你好,世界-DataX"}], "sliceRecordCount": "10"}}, "writer": {"name": "streamwriter", "parameter": {"encoding": "utf-8", "print": true}}}], "setting": {"speed": {"channel": "2"}}}
}

3. 运行Job

[xiaokang@hadoop json]$ /opt/software/datax/bin/datax.py ./stream2stream.json

在这里插入图片描述

3.2 Mysql导入数据到HDFS

示例:导出 MySQL 数据库中的 help_keyword 表到 HDFS 的 /datax目录下(此目录必须提前创建)。
在这里插入图片描述

1. 查看官方json配置模板

[xiaokang@hadoop json]$ python /opt/software/datax/bin/datax.py -r mysqlreader -w hdfswriterDataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.Please refer to the mysqlreader document:https://github.com/alibaba/DataX/blob/master/mysqlreader/doc/mysqlreader.md Please refer to the hdfswriter document:https://github.com/alibaba/DataX/blob/master/hdfswriter/doc/hdfswriter.md Please save the following configuration as a json file and  usepython {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json 
to run the job.{"job": {"content": [{"reader": {"name": "mysqlreader", "parameter": {"column": [], "connection": [{"jdbcUrl": [], "table": []}], "password": "", "username": "", "where": ""}}, "writer": {"name": "hdfswriter", "parameter": {"column": [], "compress": "", "defaultFS": "", "fieldDelimiter": "", "fileName": "", "fileType": "", "path": "", "writeMode": ""}}}], "setting": {"speed": {"channel": ""}}}
}

2. 根据模板编写json文件

在这里插入图片描述

在这里插入图片描述

{"job": {"content": [{"reader": {"name": "mysqlreader", "parameter": {"column": ["help_keyword_id","name"], "connection": [{"jdbcUrl": ["jdbc:mysql://192.168.1.106:3306/mysql"], "table": ["help_keyword"]}], "password": "xiaokang", "username": "root"}}, "writer": {"name": "hdfswriter", "parameter": {"column": [{"name":"help_keyword_id","type":"int"},{"name":"name","type":"string"}], "defaultFS": "hdfs://hadoop:9000", "fieldDelimiter": "|", "fileName": "keyword.txt", "fileType": "text", "path": "/datax", "writeMode": "append"}}}], "setting": {"speed": {"channel": "3"}}}
}

3. 运行Job

[xiaokang@hadoop json]$ /opt/software/datax/bin/datax.py ./mysql2hdfs.json

3.3 HDFS数据导出到Mysql

1. 将3.2中导入的文件重命名并在数据库创建表

[xiaokang@hadoop ~]$ hdfs dfs -mv /datax/keyword.txt__4c0e0d04_e503_437a_a1e3_49db49cbaaed /datax/keyword.txt

表必须预先创建,建表语句如下:

CREATE  TABLE  help_keyword_from_hdfs_datax LIKE help_keyword;

2. 查看官方json配置模板

[xiaokang@hadoop json]$ python /opt/software/datax/bin/datax.py -r hdfsreader -w mysqlwriterDataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.Please refer to the hdfsreader document:https://github.com/alibaba/DataX/blob/master/hdfsreader/doc/hdfsreader.md Please refer to the mysqlwriter document:https://github.com/alibaba/DataX/blob/master/mysqlwriter/doc/mysqlwriter.md Please save the following configuration as a json file and  usepython {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json 
to run the job.{"job": {"content": [{"reader": {"name": "hdfsreader", "parameter": {"column": [], "defaultFS": "", "encoding": "UTF-8", "fieldDelimiter": ",", "fileType": "orc", "path": ""}}, "writer": {"name": "mysqlwriter", "parameter": {"column": [], "connection": [{"jdbcUrl": "", "table": []}], "password": "", "preSql": [], "session": [], "username": "", "writeMode": ""}}}], "setting": {"speed": {"channel": ""}}}
}

3. 根据模板编写json文件

{"job": {"content": [{"reader": {"name": "hdfsreader", "parameter": {"column": ["*"], "defaultFS": "hdfs://hadoop:9000", "encoding": "UTF-8", "fieldDelimiter": "|", "fileType": "text", "path": "/datax/keyword.txt"}}, "writer": {"name": "mysqlwriter", "parameter": {"column": ["help_keyword_id","name"], "connection": [{"jdbcUrl": "jdbc:mysql://192.168.1.106:3306/mysql", "table": ["help_keyword_from_hdfs_datax"]}], "password": "xiaokang",  "username": "root", "writeMode": "insert"}}}], "setting": {"speed": {"channel": "3"}}}
}

4. 运行Job

[xiaokang@hadoop json]$ /opt/software/datax/bin/datax.py ./hdfs2mysql.json

3.4 mysql同步到mysql

{"job": {"content": [{"reader": {"name": "mysqlreader","parameter": {"password": "gee123456","username": "geespace","connection": [{"jdbcUrl": ["jdbc:mysql://192.168.20.75:9950/geespace_bd_platform_dev"],"querySql": ["SELECT id, name FROM test_test"]}]}},"writer": {"name": "mysqlwriter","parameter": {"column": ["id", "name"],"password": "gee123456","username": "geespace","writeMode": "insert","connection": [{"table": ["test_test_1"],"jdbcUrl": "jdbc:mysql://192.168.20.75:9950/geespace_bd_platform_dev"}]}}}],"setting": {"speed": {"channel": 1},"errorLimit": {"record": 0,"percentage": 0.02}}}
}

3.5 mysql同步到hbase

{"job": {"content": [{"reader": {"name": "mysqlreader","parameter": {"password": "gee123456","username": "geespace","connection": [{"jdbcUrl": ["jdbc:mysql://192.168.20.75:9950/geespace_bd_platform_dev"],"querySql": ["SELECT id, name FROM test_test"]}]}},"writer": {"name": "hbase11xwriter","parameter": {"mode": "normal","table": "test_test_1","column": [{"name": "f:id","type": "string","index": 0}, {"name": "f:name","type": "string","index": 1}],"encoding": "utf-8","hbaseConfig": {"hbase.zookeeper.quorum": "192.168.20.91:2181","zookeeper.znode.parent": "/hbase"},"rowkeyColumn": [{"name": "f:id","type": "string","index": 0}, {"name": "f:name","type": "string","index": 1}]}}}],"setting": {"speed": {"channel": 1},"errorLimit": {"record": 0,"percentage": 0.02}}}
}

3.6 hbase同步到hbase

{"job": {"content": [{"reader": {"name": "hbase11xreader","parameter": {"mode": "normal","table": "test_test","column": [{"name": "f:id","type": "string"}, {"name": "f:name","type": "string"}],"encoding": "utf-8","hbaseConfig": {"hbase.zookeeper.quorum": "192.168.20.91:2181","zookeeper.znode.parent": "/hbase"}}},"writer": {"name": "hbase11xwriter","parameter": {"mode": "normal","table": "test_test_1","column": [{"name": "f:id","type": "string","index": 0}, {"name": "f:name","type": "string","index": 1}],"encoding": "utf-8","hbaseConfig": {"hbase.zookeeper.quorum": "192.168.20.91:2181","zookeeper.znode.parent": "/hbase"},"rowkeyColumn": [{"name": "f:id","type": "string","index": 0}, {"name": "f:name","type": "string","index": 1}]}}}],"setting": {"speed": {"channel": 1},"errorLimit": {"record": 0,"percentage": 0.02}}}
}

3.7 hbase同步到mysql

{"job": {"content": [{"reader": {"name": "hbase11xreader","parameter": {"mode": "normal","table": "test_test_1","column": [{"name": "f:id","type": "string"}, {"name": "f:name","type": "string"}],"encoding": "utf-8","hbaseConfig": {"hbase.zookeeper.quorum": "192.168.20.91:2181","zookeeper.znode.parent": "/hbase"}}},"writer": {"name": "mysqlwriter","parameter": {"column": ["id", "name"],"password": "gee123456","username": "geespace","writeMode": "insert","connection": [{"table": ["test_test"],"jdbcUrl": "jdbc:mysql://192.168.20.75:9950/geespace_bd_platform_dev"}]}}}],"setting": {"speed": {"channel": 1},"errorLimit": {"record": 0,"percentage": 0.02}}}
}

四、辅助资料

DataX介绍以及优缺点分析:
https://blog.csdn.net/qq_29359303/article/details/100656445?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162434122516780357231881%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=162434122516780357231881&biz_id=0&utm_med

datax详细介绍及使用:
https://blog.csdn.net/qq_39188747/article/details/102577017?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162434122516780357231881%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=162434122516780357231881&biz_id=0&utm_med


http://chatgpt.dhexx.cn/article/VSKwCHlv.shtml

相关文章

dataX和dataX-Web使用总结

dataX整合dataX-Web经验总结: 近日公司由于框架升级而涉及到数据的迁移,使用到了dataX的ETL框架,其中遇到了一些坑在此总结一下方便后人使用。 1.环境准备 1.java8 2.python 2.7.18 (官方推荐是2.7.X,具体可自行选择) 3.mave…

datax(24):远程调试datax

一、datax开启远程debug 1、环境 本地: win10,idea专业版2020.3,datax3.0 远程: CentOS6.5,datax3.02、效果 3、步骤 3.1 远程开启debug /apps/datax/bin/datax.py /apps/datax/job/job.json -d即在后面添加-d 即可&#xff0…

【DataX总结】

DataX 一、 ETL工具概述主流ETL工具 二、Datax概述亮点一:异构数据源DataX 设计框架设计 亮点二:稳定高效运行原理 三、DataX的安装安装使用写json文件任务提交 传参 一、 ETL工具 概述 ETL工具是将数据从来源端经过抽取、转换、装载至目的端的过程。 …

大数据技术之DataX (一)DataX插件开发

文章目录 一、背景二、基于java的本地测试datax2.1 github上下载datax的源代码2.2 datax代码导入idea 三、docker安装南大通用数据库GBase和GBase 8a3.1 docker安装Gbase 8a3.2 docker安装Gbase 8s 四、南大通用数据库GBase 8s To GBase 8a4.1 GBase 8s的reader读插件开发&…

【工具】之DataX-Web简单介绍

目录 一、概念 二、架构 三、功能 四、使用说明 1、执行器配置 2、创建项目 3、创建数据源(源库和目标库) 4、创建任务模版 5、构建JSON脚本 正常流程(单库单表) 1.构建reader 2.构建writer 3.字段映射 4.构建 批量创建…

datax(21):编写自己的Transformer

前面2篇文章,已经看完学习完transform的内容,今天继续编写一个自己的transformer; 一、环境 win10DataX 3.0(从我的datax分支打包而来)job.json使用datax的样例json,源文件在xxx\DataX\core\src\main\job\中,打包编译…

大数据项目之电商数仓DataX、DataX简介、DataX支持的数据源、DataX架构原理、DataX部署

文章目录 1. DataX简介1.1 DataX概述1.2 DataX支持的数据源 2. DataX架构原理2.1 DataX设计理念2.2 DataX框架设计2.3 DataX运行流程2.4 DataX调度决策思路2.5 DataX与Sqoop对比 3. DataX部署3.1 下载DataX安装包并上传到hadoop102的/opt/software3.2 解压datax.tar.gz到/opt/m…

datax安装+配置+使用文档

1 DataX离线同步工具DataX3.0介绍 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。 Github…

datax(13):源码解读Column-datax中的数据类型

一、基类Column概述 Column是datax中所有数据类型的基类,里面有3个属性,以及一个构造方法,外加一个枚举类; public abstract class Column {private Type type;private Object rawData;private int byteSize;public Column(fina…

DataX使用说明

DataX使用说明 1.DataX介绍 DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。 也就是数据库的数据同步工具,免费版没有web页面&#xff0…

Datax入门使用

DataX入门使用 一、简介 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。Datax将不同数据源…

DataX 的使用

一、DataX 的部署 1、上传 datax 压缩包并解压 tar -zxvf datax.tar.gz -C /usr/local/soft/ 2、自检,执行命令(在datax目录下) [rootmaster datax]# python ./bin/datax.py ./job/job.json 安装成功 二、DataX 的使用 MySQL写入MySQL …

DATAX快速上手非常详细

前言 博主在工作的过程中有一天公司决定将数据迁移的新的项目上去,当我发现数据库中的表大于有4000多张表的时我顿时懵了下,这数据迁移人力物力消耗的也太大了吧(看DataX的设计)。所以我们可以借助阿里云开源的DataX来解决这个问题。 看完这篇掌…

DataX及DataX-Web

大数据Hadoop之——数据同步工具DataX数据采集工具-DataX datax详细介绍及使用 一、概述 DataX 是阿里云DataWorks数据集成的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、…

datax(4): datax.py解读

datax 直接使用py文件进行任务提交,今天读一读它 一、文件位置 原始文件位置在 xx/DataX/core/src/main/bin/下,datax项目打包后会将文件拷贝到 xx/DataX\target\datax\datax\bin 下。 core模块的pom.xml 指定‘拷贝’datax.py文件的方式maven-assembly…

DataX使用指南

简介 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、HDFS、Hive、OceanBase、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。DataX采用了框架 插件 的模式,目前已开源,代码托管在github。…

DataX

DataX的环境搭建以及简单测试 什么是DataX DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、 HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。 (这是一个单机多任务的ETL工具&#xff0…

DataX 简介及架构原理

DataX 简介及架构原理 概述 DataX是阿里巴巴使用 Java 和 Python 开发的一个异构数据源离线同步工具 异构数据源:不同存储结构的数据源 致力于实现包括关系型数据库 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS…

DataX的使用与介绍(1)

一、什么是DataX? DataX是阿里云商用产品DataWorks数据集成的开源版本,它是一个异构数据源的离线数据同步工具/平台(ETL工具)。DataX实现了包括Mysql,Oracle、OceanBase、Sqlserver,Postgre、HDFS、Hive、…

DataX介绍

DataX 是阿里开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。 DataX设计理念 DataX本身作为数据同步框架,将不同数据源的同步抽象为从源头…