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

  • 相关阅读:
    txtexcelcvsxml存储测试数据
    webstorm 格式化代码(CTR+ALT+L)快捷键失效?
    解决jQuery触发dbclick事件同时也执行click事件
    css经典布局——头尾固定高度中间高度自适应布局
    js 如何访问跨域的iframe的元素
    获取textarea文本框所选字符光标位置索引,以及选中的文本值;textarea高度自适应,随着内容增加高度增加;获取输入框中的光标位置
    js 如何计算当年清明节日期
    验证插件使用笔记
    node 升级之后 执行gulp报错解决方案
    scss css管理相关
  • 原文地址:https://www.cnblogs.com/1gaoyu/p/12398498.html
Copyright © 2011-2022 走看看