加入收藏 | 设为首页 | 会员中心 | 我要投稿 大庆站长网 (https://www.0459zz.com/)- 科技、智能边缘云、事件网格、云计算、站长网!
当前位置: 首页 > 数据库 > MsSql > 正文

使用datax工具,进行hdfs和关系型数据库的导入导出操作

发布时间:2023-12-21 04:38:35 所属栏目:MsSql 来源:DaWei
导读: Datax是一个异构数据源离线同步工具,可以实现包括关系型数据库(mysql、oracle等)和HDFS、hive、hbase、ftp等各种异构数据源之间稳定高效的数据同步功能。 Datax目前已经有了比较

Datax是一个异构数据源离线同步工具,可以实现包括关系型数据库(mysql、oracle等)和HDFS、hive、hbase、ftp等各种异构数据源之间稳定高效的数据同步功能。

Datax目前已经有了比较全面的插件体系,主流的RDBMS数据库、NOSQL、大数据计算系统都已经接入。

mssql数据库导出_麦库记事怎么导出_麦库笔记 导出

安装配置Datax工具

创建/opt/software 文件夹,并且解压datax的压缩包到此处

mkdir -p /opt/software

tar -zxvf datax.tar.gz -C /opt/software/

运行datax自检程序

cd /opt/software/datax/

find /opt/software/datax/ -type f -name "._*er" | xargs rm -rf

bin/datax.py job/job.json

出现下面的界面就说明datax没有问题

mssql数据库导出_麦库记事怎么导出_麦库笔记 导出

查看官方json配置模板

python /opt/software/datax/bin/datax.py -r streamreader -w streamw

麦库记事怎么导出_mssql数据库导出_麦库笔记 导出

根据模板编写 json 文件的内容

mssql数据库导出_麦库记事怎么导出_麦库笔记 导出

运行这个 json 文件的 job

/opt/software/datax/bin/datax.py demo01.json

mssql数据库导出_麦库笔记 导出_麦库记事怎么导出

mysql 数据导入到 HDFS 中

先看看官方的json配置模板文件怎么写的

reader里面的结构关键字解释:

name:reader名称

column:需要同步的列名集合,使用json数组描述自带信息,* 表示所有列

jdbcUrl:对数据库的jdbc连接信息,使用json数组描述,支持多个连接地址

table:需要同步的表,支持多个

querySql:可选项,自定义sql语句,配置它后,mysqlreader直接忽略table,column 和 where

password:数据库用户名和对应的密码

username:数据库用户名

where:筛选条件

splitPK:可选项,数据分片字段,一般是主键,仅支持整数

writer里面的结构关键字解释:

name:writer名称

column:写入数据的字段,其中name指定字段名,type指定类型

compress:hdfs文件压缩类型,默认不填写意味着没有压缩

defaultFS:hdfs文件系统namenode节点地址mssql数据库导出,格式:hdfs://ip:端口号

fieldDelimiter:字段分隔符

fileName:写入文件名

fileType:文件的类型,目前只支持用户配置为"text"或"orc"

path:存储到hadoop hdfs 文件系统的路径信息

writeMode:hdfswriter写入前数据清理处理模式:

(1)append:写入前不做任何处理,DataX hdfswriter直接使用filename写入,并保证文件名不冲突

(2)nonConflict:如果目录下有fileName前缀的文件,直接报错

下面是官方模板的内容:

麦库笔记 导出_麦库记事怎么导出_mssql数据库导出

我们根据这个模板对内容进行修改

麦库记事怎么导出_麦库笔记 导出_mssql数据库导出

在hive数据库上创建一个对应的表

麦库笔记 导出_mssql数据库导出_麦库记事怎么导出

运行mysql到hdfs的json脚本

/opt/software/datax/bin/datax.py mysql_to_hdfs.json

可以看到运行成功之后的提示信息

麦库笔记 导出_mssql数据库导出_麦库记事怎么导出

这个时候再查看hive数据库,就可以看到数据被成功导入进去了

麦库笔记 导出_mssql数据库导出_麦库记事怎么导出

HDFS数据导入到oracle

先来看看hdfs数据到oracle数据库的模板是怎么写的

python /opt/software/datax/bin/datax.py -r hdfsreader -w oraclewriter

麦库笔记 导出_mssql数据库导出_麦库记事怎么导出

尝试对这个模板文件的内容进行修改

麦库笔记 导出_麦库记事怎么导出_mssql数据库导出

在 oracle 数据库上创建对应的表格

mssql数据库导出_麦库记事怎么导出_麦库笔记 导出

通过datax运行这个json文件

python /opt/software/datax/bin/datax.py hdfs_to_oracle.json

导入成功后到oracle数据库查看结果

麦库记事怎么导出_mssql数据库导出_麦库笔记 导出

oracle表格就有相对应的内容了。

麦库笔记 导出_mssql数据库导出_麦库记事怎么导出

(编辑:大庆站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章