[python]数据同步工具DataX之Mysql同步数据至Hive (上)

1、DataX简介

DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。
关于简介此处不做太多介绍,详情可以去官网查看。
官方链接:dataX官方git

2 、下载安装

2.1 下载

先在此官方路径下载好datax下载路径

2.2 传输

使用xshell的sftp文件传输将文件传输到服务器

2.3 测试

python /usr/local/datax/bin/datax.py .../path/ods_zhidao_hive_dbs_df.json

经过测试能正常运行,那么此时我们就要开始配置json了

3、配置json (以mysql同步至hdfs为列)

  我们需要按照dataX官方给的模板来配置好josn参数,之后才能正常执行调度任务。

json样例:

{
            "job": {
                "setting": {
                    "speed": {
                        "channel": 1
                    }
                },
                "content": [
                    {
                        "reader": {
                            "name": "mysqlreader",
                            "parameter": {
                                "username": "",
                                "password": "",
                                "connection": [
                                    {
                                        "querySql": [
                                            "select * from page_view where 1=1"
                                        ],
                                        "jdbcUrl": [
                                            "jdbc:mysql://xxx.xx.xx.xx:3306/mydatabase"
                                        ]
                                    }
                                ]
                            }
                        },
                        "writer": {
                            "name": "hdfswriter",
                            "parameter": {
                                "defaultFS": "hdfs://cube",
                                "fileType": "orc",
                                "path": "/user/hive/warehouse/writerorc.db/orcfull",
                                "fileName": "xxxx",
                                "column": [
                                    {
                                        "name": "col1",
                                        "type": "TINYINT"
                                    }
                                ],
                                "writeMode": "append",
                                "fieldDelimiter": "\t",
                                "compress": "NONE"
                            }
                        }
                    }
                ]
            }
        }

3.1 配置数据库相关json信息

在这里插入图片描述

3.2 配置表结构及抽取逻辑相关json信息

在这里插入图片描述

3.3 对准备好的参数进行json填充

在这里插入图片描述

3.4 测试json能否正常执行

python /usr/local/datax/bin/datax.py .../ods_zhidao_hive_dbs_df.json

在这里插入图片描述
经过测试,同步正常。
接下来我们还需要对写入成功的数据做标记(便于下游任务开始调度执行) 、告警邮件配置、定时调度配置。

下文请点击:[python]数据同步工具DataX之Mysql同步数据至Hive (下)

猜你喜欢

转载自blog.csdn.net/Lyx_____h/article/details/105818234
今日推荐