[大数据技术]datax的安装以及使用

摘要:
"column":参考CSV文件列数进行进行进行修改。useUnicode=true&characterEncoding=utf8",参考自己连接数据库的部分进行修改,localhost此处代表ip;3306代表端口;dbtest修改为数据库名。characterEncoding代表写入表的编码格式"username":"root",数据库的用户名。"password":"364624",数据库的密码。"writer":部分的"parameter":填写MySQL数据表内的表头。这里给出MySQL到MySQL数据库的部分json文件,与上部分同理。

1、datax简述

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

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

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

用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数据库

1 {
2 "job": {
3 "content": [
4 {
5 "reader": {
6 "name": "txtfilereader", 
7 "parameter": {
8 "path": ["E:/Yi211.csv"], 
9 "encoding":"gbk",
10 "column": [
11 {
12 "index": 0,
13 "type": "string"
14 },
15 {
16 "index": 1,
17 "type": "string"
18 },
19 {
20 "index": 2,
21 "type": "string"
22 },
23 {
24 "index": 3,
25 "type": "string"
26 },
27 {
28 "index": 4,
29 "type": "string"
30 },
31 {
32 "index": 5,
33 "type": "string"
34 },
35 ],
36 "fieldDelimiter":","
37 }
38 }, 
39 "writer": {
40 "name": "mysqlwriter", 
41 "parameter": {
42 "column": [
43 "shengfen",
44 "chengshi",
45 "quezhen",
46 "zhiyu",
47 "siwang",
48 "shijian"
49 ], 
50 "connection": [
51 {
52                                 "jdbcUrl": "jdbc:mysql://localhost:3306/dbtest?useUnicode=true&characterEncoding=utf8", 
53 "table": ["yi211"]
54 }
55 ], 
56 "password": "364624", 
57 "username": "root",
58 "preSql":[""],
59 "session":["set session sql_mode='ANSI'"],
60 "writeMode":"insert"
61 }
62 }
63 }
64 ], 
65 "setting": {
66 "speed": {
67 "channel": "1"
68 }
69 }
70 }
71 }
View Code
  • "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文件,与上部分同理。

1 {
2 "job": {
3 "content": [
4 {
5 "reader": {
6 "name": "mysqlreader",
7 "parameter": {
8 "column": ["id","name","num"],
9 "connection": [
10 {
11                                 "jdbcUrl": ["jdbc:mysql://localhost:3306/dbtest?useUnicode=true&characterEncoding=utf8&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true"],
12 "table": ["test1"]
13 }
14 ],
15 "password": "364624",
16 "username": "root",
17                         
18 }
19 },
20 "writer": {
21 "name": "mysqlwriter",
22 "parameter": {
23 "column": ["id","name","num"],
24 "connection": [
25 {
26                                 
27 "jdbcUrl": "jdbc:mysql://localhost:3306/dbtest",
28 "table": ["test2"]
29 }
30 ],
31 "password": "364624",
32 "username": "root",
33 }
34 }
35 }
36 ],
37 "setting": {
38 "speed": {
39 "channel": 1
40 }
41 }
42 }
43 }
View Code

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的安装以及使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇服务器压力上不去原因分析如何修改Hadoop的默认日志级别,还真是麻烦下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

浅析Android动画(二),属性动画高级实例探究

转载请注明出处!http://www.cnblogs.com/wondertwo/p/5312482.html ObjectAnimator实现属性动画 为了写好Android动画这几篇博客,在动笔之前我是下过很大决心的,我对自己的要求是尽量把一个小知识点写清楚写明白,说白了就是相对于大而全的长篇大论,我更倾向于去写小而美的博客!为了保证在高产的同时能坚...

.NET CORE 对接天翼云 OOS

最近,因公司项目需要对接天翼云OOS,在百度多次折腾后,大部分的都是基于java、php 等其他语言,很少基于C#语言的相关资料,即使有也是基于.NET Framwork开发的SDK,内容几乎是千篇一律,很少基于.NET CORE的开发。在官网上也很少发现基于C#语言的身影,最终在网上找寻到OOS相关的SDK集合中找到基于.NET(C#) SDK开发包 。...

Educational Codeforces Round 40 (Rated for Div. 2)

A. Diagonal Walking Mikhail walks on a 2D plane. He can go either up or right. You are given a sequence of Mikhail's moves. He thinks that this sequence is too long and he wants t...

友盟官方文档

#  产品概述 关于分享和授权的sdk接口,我们在v4.4.0做出了巨大的改变,精简了接口调用的代码。并将分享授权,与评论等功能做出了隔离,使结构更加清晰。所以本版本的功能也只有分享与授权并无其他功能,请开发者注意。 注意:本文示例代码只有分享与授权功能,并对接口进行了调整,如需要原功能的开发者,请继续使用v4.3.0版本。 # 获取友盟Appkey 如果你...

ExcelTools使用

using NPOI.SS.Formula.Functions; using NPOI.SS.UserModel; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; nam...

JAVA基于图片相似性算法实现以图搜图样例

一、简述 本文主要讲如何利用图片相似性算法,基于LIRE来实现图片搜索。 二、依赖 <dependencies> <!-- https://mvnrepository.com/artifact/org.apache.lucene/lucene-core --> <dependency&...