Datax,Datax-web在Win10中安装使用

1. Datax安装

1.1 Python环境安装

Datax需要Python2环境,先安装环境。下载地址:Python 2.7.18

下载版本

安装python后(目录随意),环境变量Path中会有安装的python,
环境变量

在cmd中python -v查看版本信息,能查看基本就可以了。
cmd查看

1.2 下载datax

参考官网教程:

datax有打包好的,也有源码,因自带的是mysql5驱动,所以如果要换MySQL8驱动,只能下载源码。我下载的源码自己编译的。如果连接mysql5,直接下载官方的压缩包使用。

  1. 下载源码,导入ide,maven自动导包,直到没有报错
    注意:有一些特殊的数据库驱动包是用的本地的,都在自己的项目pom文件中有目录,我导入时oscarJDBC.jar驱动就没有,所以网盘中转载了别人找到的各个数据库驱动,放到项目中就可以了。
    百度网盘:数据库连接驱动
    提取码: p2a3

    1. Sybase驱动: jconn3-6.0.jar
    2. Sqlserver驱动: sqljdbc4-4.0.jar
    3. Postgresql驱动:postgresql-0.9.3-1102-jdbc4.jar
    4. oscarJDB驱动: oscarJDBC.jar
    5. Oracle12C驱动: orai18n.jar ojdbc8-12.2.0.1.jar,ojdbc8.jar
    6. Mysql驱动: mysql-connector-java-5.1.48.jar
    7. Mongodb驱动: mongodb-driver-3.8.2.jar
    8. kingbase驱动: kingbase8-8.2.0.jar
    9. greenplum驱动:greenplum-jdbc-5.1.4.jar
    10. Gbasse驱动: gbase-8.3.81.53.jar
    11. DM(达梦)驱动: Dm7jdbcDriver16-7.6.0.165.jar,DM7jdbcDriver18.jar
    12. Vertica驱动: vertica-jdbc-9.1.1-0.jar
    13. DB2驱动: db2jcc-3.72.44.jar
    14. Teradata驱动: terajdbc4.jar
    
  2. 更换驱动版本:在最外层pom文件中,5.1.32 --> 8.0.25


    MySQL版本
  3. 更换驱动名字,我在eclipse中,快捷键ctrl + h打开搜索窗口,将5的驱动替换成8的:mysql-connector-java --> com.mysql.cj.jdbc.Driver

    搜索

    替换

    显示替换了7处,在文件中都可以看到,可以自己点进去看看替换的地方。
    替换的驱动名称

  4. 修改zeroDateTimeBehavior的值:convertToNull --> CONVERT_TO_NULL
    我不知道为什么,看别人说要替换,我就换了

  5. 按照官网的命令打包
    官网命令:mvn -U clean package assembly:assembly -Dmaven.test.skip=true
    可以在 cmd中打包,我在eclipse中build的

    打包

    不知道为什么,我打包出来的体积比较大,有1.17个G,官网下载打好的包只有800多M,但是也不影响使用

  6. 测试使用
    将打好的包解压到自己的目录,使用官网给的命令测试,就用的job文件夹下job.json文件进行测试的:

 cd {YOUR_DATAX_DIR_BIN}
 python datax.py ../job/job.json 

需要注意一点:官网直接下载的压缩包能直接测试,但是自己打包的会报错,缺少配置,有2种方法修改:

  • 方法1:去掉job中的speed的速度值byte,
  • 方法2:添加core字段,在其中添加speed,
    即构建的json文件中的core.transport.channel.speed.record和job.setting.speed.record需要同时进行设置或全都不设置。


    修改json文件

    每个字段什么意思,自己可以在官网查一下,我添加了,如下:

{
    "core":{
        "transport":{
            "channel":{
                "speed":{
                    "channel": 2,
                    "byte":10485760,
                    "batchSize":2048
                }
            }
        }
    },
    "job": {
        "setting": {
            "speed": {
                "byte":20971520
            },
            "errorLimit": {
                "record": 0,
                "percentage": 0.02
            }
        },
        "content": [
            {
                "reader": {
                    "name": "streamreader",
                    "parameter": {
                        "column" : [
                            {
                                "value": "DataX",
                                "type": "string"
                            },
                            {
                                "value": 19890604,
                                "type": "long"
                            },
                            {
                                "value": "1989-06-04 00:00:00",
                                "type": "date"
                            },
                            {
                                "value": true,
                                "type": "bool"
                            },
                            {
                                "value": "test",
                                "type": "bytes"
                            }
                        ],
                        "sliceRecordCount": 100000
                    }
                },
                "writer": {
                    "name": "streamwriter",
                    "parameter": {
                        "print": false,
                        "encoding": "UTF-8"
                    }
                }
            }
        ]
    }
}

测试完结果:


测试结果

到这,datax就算完成了,可以使用了

2. Datax-web安装

提一下,datax-web是在datax的基础上使用的,所以要想用datax-web,必须先安装datax
官方教程:

  • datax-web · GitHub
    官方datax-web中也包含了datax部分教程,若datax已安装,可直接看datax-web部分

2.1 下载datax-web

直接github上下载下来源码,导入ide

2.2 运行datax-web

主要包括2个运行项目,datax-admindatax-executor

  1. 在mysql中创建datax_web数据库,执行/datax-web/bin/db/datax_web.sql文件,导入数据库
  2. 修改datax-admin中的数据库连接,将配置文件中的变量都变成固定值,有好多,具体其他的请参考官网。
    配置文件
  3. 修改datax-executor配置文件中job文件位置和datax位置
    配置文件2
  4. 依次运行datax-admin -- datax-executor,启动好以后就可以访问了
  • 地址:http://127.0.0.1:8080/index.html
  • 账号:admin
  • 密码:123456
    注意:启动可能会报错,缺少hadoop文件,主要是少了winutils工具,虽然不影响使用,还是要解决一下。下载以下文件,配置环境变量即可:
    hadoop-2.6.5百度网盘-链接:
    提取码: xjq3
    若版本不对,可以选择其他版本。转载其他人的:
    winutils.png

    各版本hadoop百度网盘-链接:
    提取码: 8jfi
    添加HADOOP_HOME环境变量,Path中也加入,如下图:
    环境变量

    Path
  1. datax-web使用
    初次使用datax-web需要配置几个东西
  • 5.1 添加项目,将datax执行的任务加到所属项目,方便管理,实质作用不大,但任务多了,好查找
  • 5.2 配置数据库,各种用到的数据源都添加到里面,用的时候选择已添加的数据源
    不要用local host!!!千万不要用,用127.0.0.1就可以了
  • 5.3 配置执行器,主要是为了识别datax位置


    配置项
  • 5.4 任务管理
    接下来是最主要的部分了,在 任务管理 项中,任务管理也是分3步完成:创建任务模板--任务构建--任务管理
    datax执行
    • 任务模板,主要配置执行datax的一些规则:路由策略、定时器、启动参数等等
    • 任务构建,就是生成datax使用的json文件,用datax-web主要就是因为他能自动生成这个:
      按它的步骤一步步选择就行,基本能看懂,选择表和字段,在第四步时注意顺序:
      顺序

      生成的Json文件可能有小问题,无法执行,其实和datax自己打包有关,自己打的包json文件需要speed同时有或同时没有,我直接去掉了,先试试
      修改json
    • 任务管理
      在这里执行或修改已经构建完成的任务
      我试着执行了一个Oracle --> Mysql的转换。


      执行任务
  • 5.5 日志管理
    任务执行过程中,可以在这里查看日志和结果


    日志管理

    日志记录

    由日志可以看出,我执行的Oracle --> Mysql的任务,有25733316条数据,速度22772rec/s,用了差不多20分钟


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,875评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,569评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,475评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,459评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,537评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,563评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,580评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,326评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,773评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,086评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,252评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,921评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,566评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,190评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,435评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,129评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,125评论 2 352

推荐阅读更多精彩内容