1、datax简述

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

2、datax在windows下的简单使用步骤

  在命令提示符界面进入datax\bin目录下,如CD E:\datax\bin

  用Python2执行此处为json文件的路径

  注意:必须使用Python2!!!!!!

  Python3会报以下错误:

  File "datax.py", line 114
print readerRef
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(readerRef)?

  原因是python2的print在python3中变为了print()函数。

  因此可以安装python2,并用 py -2  来执行python代码,如:py -2 datax.py E:\New1.json 来执行python2的代码

  同理py -3执行python3的代码。

3、datax简单示例参考(json文件)

  从CSV到MySQL数据库

 {
"job": {
"content": [
{
"reader": {
"name": "txtfilereader",
"parameter": {
"path": ["E:/Yi211.csv"],
"encoding":"gbk",
"column": [
{
"index": 0,
"type": "string"
},
{
"index": 1,
"type": "string"
},
{
"index": 2,
"type": "string"
},
{
"index": 3,
"type": "string"
},
{
"index": 4,
"type": "string"
},
{
"index": 5,
"type": "string"
},
],
"fieldDelimiter":","
}
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"column": [
"shengfen",
"chengshi",
"quezhen",
"zhiyu",
"siwang",
"shijian"
],
"connection": [
{
"jdbcUrl": "jdbc:mysql://localhost:3306/dbtest?useUnicode=true&characterEncoding=utf8",
"table": ["yi211"]
}
],
"password": "364624",
"username": "root",
"preSql":[""],
"session":["set session sql_mode='ANSI'"],
"writeMode":"insert"
}
}
}
],
"setting": {
"speed": {
"channel": "1"
}
}
}
}
  • "path": ["E:/Yi211.csv"],  为要导入的csv文件路径。
  • "encoding":"gbk", 为读取CSV文件的编码格式,这里应注意可能导致中文乱码!!!
  • "column": 参考CSV文件列数进行(安装示例格式)进行进行修改。
  • "name": "mysqlwriter",  代表该部分代码为写入MySQL的部分,同理"name": "txtfilereader",  代表该部分代码为读文本的部分。
  • "jdbcUrl": "jdbc:mysql://localhost:3306/dbtest?useUnicode=true&characterEncoding=utf8", 参考自己连接数据库的部分进行修改,localhost此处代表ip;3306代表端口;dbtest修改为数据库名。characterEncoding代表写入表的编码格式
  • "username": "root", 数据库的用户名。
  • "password": "364624", 数据库的密码。
  • "writer": 部分的 "parameter":  填写MySQL数据表内的表头。

  这里给出MySQL到MySQL数据库的部分json文件,与上部分同理。

 {
"job": {
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"column": ["id","name","num"],
"connection": [
{
"jdbcUrl": ["jdbc:mysql://localhost:3306/dbtest?useUnicode=true&characterEncoding=utf8&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true"],
"table": ["test1"]
}
],
"password": "364624",
"username": "root", }
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"column": ["id","name","num"],
"connection": [
{ "jdbcUrl": "jdbc:mysql://localhost:3306/dbtest",
"table": ["test2"]
}
],
"password": "364624",
"username": "root",
}
}
}
],
"setting": {
"speed": {
"channel": 1
}
}
}
}

4、可能出现的错误

json文件格式错误:

经DataX智能分析,该任务最可能的错误原因是:
com.alibaba.datax.common.exception.DataXException: Code:[Common-00], Describe:[您提供的配置文件存在错误信息,请检查您的作业配置 .] - 配置信息错误. 您提供的配置信息不是合法的JSON格式: unclosed string : * . 请按照标准json格式提供配置信息.

命令提示符界面出现出现乱码:

可以在cmd中输入: CHCP 65001 ,然后进行后续操作。

py -2 datax.py E:\New1.json

[大数据技术]datax的安装以及使用的更多相关文章

  1. 大数据技术之kettle安装使用

    kettle是一款开源的ETL工具,纯java编写,可以在Windows.Linux.Unix上运行,绿色无需安装,数据抽取高效稳定. kettle的两种设计 简述: Transformation(转 ...

  2. 【学习笔记】大数据技术原理与应用(MOOC视频、厦门大学林子雨)

    1 大数据概述 大数据特性:4v volume velocity variety value 即大量化.快速化.多样化.价值密度低 数据量大:大数据摩尔定律 快速化:从数据的生成到消耗,时间窗口小,可 ...

  3. 大数据技术 - 为什么是SQL

    在大数据处理以及分析中 SQL 的普及率非常高,几乎是每一个大数据工程师必须掌握的语言,甚至非数据处理岗位的人也在学习使用 SQL.今天这篇文章就聊聊 SQL 在数据分析中作用以及掌握 SQL 的必要 ...

  4. 大数据技术之Sqoop

    大数据技术之Sqoop  一.Sqoop简介 Apache Sqoop(TM)是一种旨在有效地在Apache Hadoop和诸如关系数据库等结构化数据存储之间传输大量数据的工具. Sqoop于2012 ...

  5. 大数据技术之Hadoop3.1.2版本HA模式

    大数据技术之Hadoop3.1.2版本HA模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Hadoop的HA特点 1>.主备NameNode 2>.解决单点故障 ...

  6. 大数据技术之Hadoop3.1.2版本完全分布式部署

    大数据技术之Hadoop3.1.2版本完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.主机环境准备 1>.操作系统环境 [root@node101.yinz ...

  7. 大数据技术之Hadoop3.1.2版本伪分布式部署

    大数据技术之Hadoop3.1.2版本伪分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.主机环境准备 1>.操作系统环境 [root@node101.yinzh ...

  8. 大数据技术之kettle

    大数据技术之kettle 第1章            kettle概述 1.1    什么是kettle kettle是一款开源的ETL工具,纯java编写,可以在Windows.Linux.Uni ...

  9. 大数据技术之HBase

    第1章 HBase简介 1.1 什么是HBase HBase的原型是Google的BigTable论文,受到了该论文思想的启发,目前作为Hadoop的子项目来开发维护,用于支持结构化的数据存储. 官方 ...

随机推荐

  1. SpringMVC基础(一)_控制器

    Spring MVC Spring MVC 基于模型-视图-控制器(Model-View-Controller)模式实现,它能够帮你构建灵活和松耦合的应用程序. 1.Spring MVC的请求追踪 每 ...

  2. 部署 harbor 私有仓库

    安装下载依赖包 安装docker-compose 从 docker compose 发布页面下载最新的 docker-compose 二进制文件,本文以1.25.4为例 cd /opt/k8s/wor ...

  3. codeforces 1025B Weakened Common Divisor(质因数分解)

    题意: 给你n对数,求一个数,可以让他整除每一对数的其中一个 思路: 枚举第一对数的质因数,然后暴力 代码: #include<iostream> #include<cstdio&g ...

  4. ant编译solr源码生成eclipse项目,解决一直resolve,一直[ivy:retrieve]的问题

    这两天在学习solr,结果刚到编译solr源码就卡住了,足足卡了两天,网上找各种解决办法都是简单带过,说是缺少jar包,下载下来放到对应位置就好了....对应位置???咋不说这个问题用相应方法解决即可 ...

  5. Spring Cloud第十四篇 | Api网关Zuul

    ​ 本文是Spring Cloud专栏的第十四篇文章,了解前十三篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring C ...

  6. centos 7安装reids

    一.reids下载  下载地址: https://redis.io/ 二.解压安装 ① 解压:tar -zxvf redis-5.0.5.tar.gz ② 安装环境:yum install gcc-c ...

  7. 四步搞定Zabbix 日志文件监控

    Zabbix 日志文件监控 一.给运行Zabbix agent的用户授予要监控日志的读取权限. 1. 執行下面的命令,追加app的可讀權限: setfacl -m u:app:r-- /var/log ...

  8. Ubuntu mysql踩坑记录

    安装: 1.sudo apt-get install mysql-server 2. apt-get isntall mysql-client 3.  sudo apt-get install lib ...

  9. 设置允许外网访问MySQL

    1:设置mysql的配置文件     /etc/mysql/my.cnf      找到 bind-address  =127.0.0.1  将其注释掉://作用是使得不再只允许本地访问:  重启my ...

  10. 将你的Archlinux打造成路由器

    弄了一块J2900双千兆网口的工控板回来(奇怪的型号)当软路由用,无奈我又想各种皮,还想装桌面环境配VNC,而且我还对虚拟机不感冒(况且这U还不支持直通),只得放弃所有路由器系统.作为一名Arch铁粉 ...