[大数据技术]datax的安装以及使用
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的安装以及使用的更多相关文章
- 大数据技术之kettle安装使用
kettle是一款开源的ETL工具,纯java编写,可以在Windows.Linux.Unix上运行,绿色无需安装,数据抽取高效稳定. kettle的两种设计 简述: Transformation(转 ...
- 【学习笔记】大数据技术原理与应用(MOOC视频、厦门大学林子雨)
1 大数据概述 大数据特性:4v volume velocity variety value 即大量化.快速化.多样化.价值密度低 数据量大:大数据摩尔定律 快速化:从数据的生成到消耗,时间窗口小,可 ...
- 大数据技术 - 为什么是SQL
在大数据处理以及分析中 SQL 的普及率非常高,几乎是每一个大数据工程师必须掌握的语言,甚至非数据处理岗位的人也在学习使用 SQL.今天这篇文章就聊聊 SQL 在数据分析中作用以及掌握 SQL 的必要 ...
- 大数据技术之Sqoop
大数据技术之Sqoop 一.Sqoop简介 Apache Sqoop(TM)是一种旨在有效地在Apache Hadoop和诸如关系数据库等结构化数据存储之间传输大量数据的工具. Sqoop于2012 ...
- 大数据技术之Hadoop3.1.2版本HA模式
大数据技术之Hadoop3.1.2版本HA模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Hadoop的HA特点 1>.主备NameNode 2>.解决单点故障 ...
- 大数据技术之Hadoop3.1.2版本完全分布式部署
大数据技术之Hadoop3.1.2版本完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.主机环境准备 1>.操作系统环境 [root@node101.yinz ...
- 大数据技术之Hadoop3.1.2版本伪分布式部署
大数据技术之Hadoop3.1.2版本伪分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.主机环境准备 1>.操作系统环境 [root@node101.yinzh ...
- 大数据技术之kettle
大数据技术之kettle 第1章 kettle概述 1.1 什么是kettle kettle是一款开源的ETL工具,纯java编写,可以在Windows.Linux.Uni ...
- 大数据技术之HBase
第1章 HBase简介 1.1 什么是HBase HBase的原型是Google的BigTable论文,受到了该论文思想的启发,目前作为Hadoop的子项目来开发维护,用于支持结构化的数据存储. 官方 ...
随机推荐
- nginx+lua在我司的实践
导读:nginx是一个高性能的反向代理服务器,lua是一个小巧的脚本语言,这两个的巧妙结合会擦出怎样的火花呢. 关键词:nginx,lua,nginx+lua 前言 nginx,lua,nginx+l ...
- CCF_201612-1_最大波动
http://115.28.138.223/view.page?gpid=T47 水. #include<iostream> #include<cstring> #includ ...
- C语言寒假大作战04
问题 答案 这个作业属于那个课程 https://edu.cnblogs.c0m/campus/zswxy/CST2019-4 这个作业的要求在哪里 https://edu.cnblogs.com/c ...
- [Effective Java 读书笔记] 第6章 枚举和注解
第三十条 用enum代替int 总得来说,使用enum有几点好处 1.编译时的类型安全, 2.可以保证就是自己定义的值,不会有月结风险, 3.每个枚举类型有自己的命名空间 4.枚举可以添加任意的方法和 ...
- PYTHON 学习笔记3 元组、集合、字典
前言 在上一节的学习中.学习了基本的流程控制语句,if-elif-else for while 等,本节将拓展上一节学习过的一些List 列表当中操作的一些基本方法,以及元祖.序列等. 列表扩展 我们 ...
- H5页面优化
1. 页面优化 优化内容: 提升网页响应速度:减少请求,文件大小,页面性能 对搜索引擎,屏幕阅读器友好: 提高可读性,可维护性:规范代码 优化操作: 减少请求:小图标使用sprite拼图合并为一个图片 ...
- linux中的正则表达式知识梳理
1. 正则表达式 1.1 正则表达式使用 正则表达式是开发者为了处理大量的字符串和文本而定义的一套规则和方法,使用正则表达式可以提高效率,快速获取想要的内容. 正则表达式常用于linux三剑客grep ...
- HDU 1006 模拟
Tick and Tick Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- Day3前端学习之路——CSS基本知识
课程目标 初步了解什么是CSS,掌握基本的CSS概念,语法,针对选择器特殊性的计算处理,以及学习如何设置一些简单的样式 任务一:回答问题 1.什么是CSS,CSS是如何工作的? CSS 指层叠样式表 ...
- jps jmap 的使用
第一部分: 源代码: public class ObjectText { int a=0; public static void main(String[] args) { ObjectText ot ...