温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL中Datax如何实现离线数据抽取

发布时间:2021-11-01 10:44:18 来源:亿速云 阅读:366 作者:小新 栏目:MySQL数据库

这篇文章将为大家详细讲解有关MySQL中Datax如何实现离线数据抽取,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Datax下载地址:https://github.com/alibaba/DataX

Datax MySQL读: https://github.com/alibaba/DataX/blob/master/mysqlreader/doc/mysqlreader.md

Datax MySQL写: https://github.com/alibaba/DataX/blob/master/mysqlwriter/doc/mysqlwriter.md

1.下载安装Datax软件(必须安装jdk 1.8版本以上)

[root@localhost ~]# tar xvf jdk-8u65-linux-x64.tar.gz

[root@localhost ~]# mv jdk1.8.0_151  /usr/local/jdk1.8.0_151

[root@localhost ~]# vim /etc/profile

export PATH=$PATH:/usr/local/jdk1.8.0_151/bin

[root@localhost ~]# vim /etc/ld.so.conf.d/mysql-x86_64.conf

/usr/local/jdk1.8.0_151/lib

[root@localhost ~]# tar xvf  datax.tar.gz

[root@localhost ~]# cd datax/job/

2.编辑配置文件

[root@localhost job]# vim job.json

{

    "job": {

        "setting": {

            "speed": {

                "channel": 5

            }

        },

        "content": [

            {

                "reader": {

                    "name": "mysqlreader",

                    "parameter": {

                        "username": "taf",

                        "password": "taf2015",

                        "column": ["*"],

                        "connection": [

                           {

                              "table": ["t2"],

                              "jdbcUrl": ["jdbc:mysql://172.16.8.160:3306/test?useUnicode=true&characterEncoding=utf8"]

                           }

                        ]

                    }

                },

                "writer": {

                    "name": "mysqlwriter",

                    "parameter": {

                        "writeMode": "update",

                        "username": "wangying",

                        "password": "wangying",

                        "column": ["*"],

                        "connection": [

                            {

                               "jdbcUrl": "jdbc:mysql://172.16.8.93:3306/db_stktag",

                               "table": ["t2"]

                            }

                        ]

                      }

                    }

                }

        ]

    }

}

[root@localhost job]# 

3.mysql两边表结果必须一至,使用python2抽取数据

[root@localhost job]# python2 /root/datax/bin/datax.py job.json

DataX (DATAX-OPENSOURCE-3.0), From Alibaba !

Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.

2019-01-29 11:18:50.569 [main] INFO  VMInfo - VMInfo# operatingSystem class => sun.management.OperatingSystemImpl

2019-01-29 11:18:50.615 [main] INFO  Engine - the machine info  => 

osInfo:Oracle Corporation 1.8 25.151-b12

jvmInfo:Linux amd64 3.10.0-123.el7.x86_64

cpu num:8

totalPhysicalMemory:-0.00G

freePhysicalMemory:-0.00G

maxFileDescriptorCount:-1

currentOpenFileDescriptorCount:-1

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

任务启动时刻                    : 2019-01-29 11:18:50

任务结束时刻                    : 2019-01-29 11:19:04

任务总计耗时                    :                 13s

任务平均流量                    :                1B/s

记录写入速度                    :              0rec/s

读出记录总数                    :                   7

读写失败总数                    :                   0

[root@localhost job]#

关于“MySQL中Datax如何实现离线数据抽取”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI