zoukankan      html  css  js  c++  java
  • DataX实战(Datax闭坑)

    学习了安装并学习了dataX的使用

    首先安装Datax

    1.下载压缩包:
    下载页面地址:https://github.com/alibaba/DataX 在页面中【Quick Start】--->【Download DataX下载地址】进行下载。下载后的包名:datax.tar.gz。解压后{datax}目录下有{bin conf job lib log log_perf plugin script tmp}几个目录。

    2.安装
    将下载后的压缩包直接解压后可用,前提是对应的java及python环境满足要求。(要求是必须使用Python2版本,我装的Python3其实并不影响,既然Python3的print需要加“()”那么我们直接修改data.py中的代码,对于输出的地方加上括号,另外对于错误处理exception ,e改成excption as e)

    另外对于第200行的Copyright()函数中的print输出比较长加括号是应注意要加到第205行末尾(红色加粗部位)

    def printCopyright():
        print ('''
    DataX (%s), From Alibaba !
    Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.
    
    ''' % DATAX_VERSION)
        sys.stdout.flush()

    另外在控制台运行的时候输出信息中的中文会出现乱码:

    所以:cmd 中输入:输入CHCP 65001 (即可解决dos界面的乱码问题)

    数据库中的数据中文乱码解决:在json文件中jdbcUrl项加上:?characterEncoding=utf8

    实验中用到的json文件(一定要注意文件路径中对“/”在Windows中如果直接复制路径是路径中是“”这在运行时就会出错,提示json文件中存在错误.........亲身体验)

    {
        "job": {
            "setting": {
                "speed": {
                    "channel": 1
                }
            },
            "content": [
                {
                   "reader": {
                        "name": "txtfilereader",
                        "parameter": {
                            "path": ["C:/Users/32016/Desktop/spark/xinjian.csv"],
                            "encoding": "gbk",
                            "column": [
                                {
                                    "index": 0,
                                    "type": "string"
                                },
                                {
                                    "index": 1,
                                    "type": "string"
                                },
                                {
                                    "index": 2,
                                    "type": "string"
                                },
                               
                            ],
                            "fieldDelimiter": ",",
                            "skipHeader": "true"
                        }
                    },
                    
                   "writer": {
    
                        "name": "mysqlwriter",
                        "parameter": {
                            "writeMode": "insert",
                            "username": "root",
                            "password": "gy1212",
                            "column": [
                                "leixing",
                                "laixinren",
                                "tongwen",
                                
                            ],
    
                            "session": [],
    
                            "connection": [
                                {
                                    "jdbcUrl": "jdbc:mysql://127.0.0.1:3306/xin?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8",
                                    "table": ["xinjain"]
                                }
                            ]
                        }
                    }
                }
            ]
        }
    }

    然后启动datax运行json文件

    python datax.py ../job/csv-mysql.json

     然后就可将csv文件导入到MySQL数据库中

    json在线构建:https://github.com/alibaba/DataX

  • 相关阅读:
    一个printf(结构体指针)引发的血案
    C语言指针从底层原理到花式技巧,用图文和代码帮你讲解透彻
    利用C语言中的setjmp和longjmp,来实现异常捕获和协程
    提高代码逼格的利器:宏定义从入门到放弃
    我最喜欢的进程之间通信方式消息总线
    推荐一个阅读代码、文档的利器:屏幕贴图工具
    计算机网络基础知识总结
    vi指令总结
    LVS 负载均衡器理论基础及抓包分析
    Linux命令总结大全,包含所有linux命令
  • 原文地址:https://www.cnblogs.com/1gaoyu/p/12398498.html
Copyright © 2011-2022 走看看