• 数据迁移


    DataX 简介

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

    安装与使用

    环境要求

    – JDK(1.8以上,推荐1.8)
    – Python(推荐Python2.6.X)

    下载解压

     下载地址

     源码地址

    下载后直接解压,解压后目录如下

    进入 bin 目录

    使用方法

    直接执行如下命令即可

    python datax.py test.json

    test.json 为配置文件,标明了 数据源 和 迁移后的路径

    datax json 配置示例

    本地到本地

    {
        "setting": {},
        "job": {
            "setting": {
                "speed": {
                    "channel": 2
                }
            },
            "content": [
                {
                    "reader": {
                        "name": "txtfilereader",
                        "parameter": {
                            "path": ["E:\test.csv"],
                            "encoding": "UTF-8",
                            "column": [
                                {
                                    "index": 0,
                                    "type": "long"
                                },
                                {
                                    "index": 1,
                                    "type": "long"
                                },
                                {
                                    "index": 2,
                                    "type": "long"
                                }
                            ],
                            "fieldDelimiter": ",",
                            "skipHeader": "False"
                        }
                    },
                    "writer": {
                        "name": "txtfilewriter",
                        "parameter": {
                            "path": "E:\test",
                            "fileName": "test",
                            "writeMode": "truncate",
                            "format": "yyyy-MM-dd",
                            "header":['id', 'name', 'age']
                        }
                    }
                }
            ]
        }
    }

    更多示例见参考文档,或者查阅官网,即 “了解更多” 章节

    使用异常记录

    1. 默认支持的是 python2,如果想用 python3,需要把 datax.py 等文件的代码改成 python3 语法,不过貌似只是 print 加 括号就行了

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

    "jdbcUrl": ["jdbc:mysql://127.0.0.1:3306/dq?characterEncoding=utf8"]

    3. 运行 datax.py 后出现乱码,在 cmd 中 输入 CHCP 65001    【仅适用于 windows】 

    了解更多

     阿里云开源离线同步工具DataX3.0介绍

    原理篇

    未完待续...

    参考资料:

    https://zhuanlan.zhihu.com/p/163710564   最简使用教程

    https://www.cnblogs.com/longbing/p/9430084.html  dataX json配置    mysql2mysql、mysql到本地、HDFS打印到本地控制台、orcle打印到Linux

    https://www.cnblogs.com/qingyunzong/p/9759993.html  DataX的使用

  • 相关阅读:
    JBPM工作流(四)——管理流程定义
    JBPM工作流(三)——ProcessEngine与Service API
    JBPM工作流(二)——数据库表说明
    JBPM工作流(一)——实现一个简单的工作流例子
    jbpm与spring hibernate struts整合
    SpringMVC12拦截器
    SpringMVC11文件上传
    阅读代码的方法
    关于linux系统的资料
    关于图灵机的介绍(相见恨晚,太赞了)
  • 原文地址:https://www.cnblogs.com/yanshw/p/15012044.html
Copyright © 2020-2023  润新知