DataX和Oracle使用案例

这篇具有很好参考价值的文章主要介绍了DataX和Oracle使用案例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

DataX和Oracle使用案例



0. 写在前面

  • 版本信息说明:

Oracle、MySQL数据库和DataX安装在一台机器node01上

DataX版本:DataX3.0(开源版)

Oracle版本:Oracle19c

说到数据库,我们都能想到类型分为关系型和非关系型数据库;Oracle和MySQL都是属于关系型数据库管理系统,在正文开始之前,有必要了解一下Oracle和MySQL在SQL方面的一些区别,以便参考

  • 数据库Oracle 与 MySQL 的SQL 区别
类型 Oracle MySQL
整型 number(N)/integer int/integer
浮点型 float float/double
字符串类型 varchar2(N) varchar(N)
NULL ‘’ null 和’'不一样
分页 rownum limit
"" 限制很多,一般不让用 与单引号一样
价格 闭源,收费 开源,免费
主键自动增长 ×
if not exists ×
auto_increment ×
create database ×
select * from table as t ×

1. 从 Oracle 中读取数据存到 MySQL

1.1 MySQL 中创建表

进入MySQL交互界面,在oracle这个库下创建表student,字段为id和name,具体sql语句如下所示:

[oracle@node01 ~]$ mysql -uroot -p000000 
mysql> create database oracle;    
mysql> use oracle;    
mysql> create table student(id int,name varchar(20)); 

1.2 编写 Datax 配置文件

编写配置文件 oracle2mysql.json

[oracle@node01 ~]$ vim /opt/module/datax/job/oracle2mysql.json
{
	"job": {
		"content": [
		{
			"reader": {
			"name": "oraclereader", 
			"parameter": {
				"column": ["*"], 
				"connection": [
					{
						"jdbcUrl": ["jdbc:oracle:thin:@node01:1521:orcl"],
						"table": ["student"]
					}
				],
				"password": "123456", 
				"username": "whybigdata"
			}
		},
		"writer": {
			"name": "mysqlwriter", 
			"parameter": {
				"column": ["*"], 
				"connection": [
					{
						"jdbcUrl": "jdbc:mysql://node01:3306/oracle", 
						"table": ["student"]
					}
				],
				"password": "123456", 
				"username": "root", 
				"writeMode": "insert"
			}
		}
	}
}

注意: jdbc:oracle:thin:@node01:1521:orcl 中的 orcl 指的是数据库名(安装Oracle数据库时设置的SID),同时要注意Oracle的数据库连接方式url的书写。

Linux安装Oracle数据库教程见下方链接:

https://juejin.cn/post/7197066611453804581

1.3 执行命令

执行命令如下 :

 [oracle@node01 ~]$ /opt/module/datax/bin/datax.py /opt/module/datax/job/oracle2mysql.json     

查看datax执行后MySQL中student表的数据结果:可以看到数据导入成功了

mysql> select * from student;
+	+	+
| id	| name	|
+	+	+
|	1 | zhangsan |
+	+	+

数据从DataX导入MySQL数据库前后的对比

  • Oracle导入MySQL前后:

    • Oracle表student的数据:

      DataX和Oracle使用案例

    • 导入MySQL前表student的数据:

      DataX和Oracle使用案例

    • 导入MySQL后表student的数据:

      DataX和Oracle使用案例

2. 读取 Oracle 的数据存入 HDFS 中

2.1 编写配置文件

编写配置文件 oracle2hdfs.json

[oracle@node01 datax]$ vim job/oracle2hdfs.json  
{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "oraclereader",
                    "parameter": {
                        "column": [
                            "*"
                        ],
                        "connection": [
                            {
                                "jdbcUrl": [
                                    "jdbc:oracle:thin:@node01:1521:orcl"
                                ],
                                "table": [
                                    "student"
                                ]
                            }
                        ],
                        "password": "000000",
                        "username": "atguigu"
                    }
                },
                "writer": {
                    "name": "hdfswriter",
                    "parameter": {
                        "column": [
                            {
                                "name": "id",
                                "type": "int"
                            },
                            {
                                "name": "name",
                                "type": "string"
                            }
                        ],
                        "defaultFS": "hdfs://node01:8020",
                        "fieldDelimiter": "\t",
                        "fileName": "oracle.txt",
                        "fileType": "text",
                        "path": "/",
                        "writeMode": "append"
                    }
                }
            }
        ],
        "setting": {
            "speed": {
                "channel": "1"
            }
        }
    }
}

2.2 执行命令

执行命令如下:

[oracle@node01 datax]$ bin/datax.py job/oracle2hdfs.json  

2.3 查看HDFS 结果

HDFS成功导入Oracle数据库表student的数据进入 oracle.txt_xxxxxxxxxxxxxxx文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-55sP74PR-1675910623330)(./4.jpg)]DataX和Oracle使用案例

3. 总结

全文其实最主要的是Oracle数据库是否成功安装,这是最关键的一点,完成了这一步骤,DataX和其他数据库之间的数据导入导出本质上是一样的,都是通过模板配置文件来实现操作,大同小异。

全文结束!文章来源地址https://www.toymoban.com/news/detail-427861.html

到了这里,关于DataX和Oracle使用案例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • datax 使用

    List item Linux JDK(1.8以上,推荐1.8) Python(2或3都可以) Apache Maven 3.x (Compile DataX) 填写模板相印的信息 生成mysql2mysql.json

    2024年02月10日
    浏览(29)
  • datax使用笔记

    项目要数据迁移,毫无疑问,果断datax。 方式多种多样,爱用哪种用哪种。 网上下载 自己从网上找也可以,这个链接实测也可用。 http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz 网盘下载 网上能找到,但是麻烦,干脆分享个。 链接: https://pan.baidu.com/s/1QpCEvAgD4DCBtDz-rRzP

    2024年02月05日
    浏览(34)
  • datax工具介绍及简单使用

    Datax是一个异构数据源离线同步工具,致力于实现包括关系数据库、HDFS、Hive、ODPS、Hbase等各种异构数据源之间稳定高效的数据同步功能 设计理念 为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接各种数据源。当

    2024年02月09日
    浏览(46)
  • DataX简介、部署、原理和使用介绍

    项目地址:https://github.com/alibaba/DataX 官方文档:https://github.com/alibaba/DataX/blob/master/introduction.md ​ DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBas

    2024年02月15日
    浏览(39)
  • 数据同步工具—DataX—Web部署使用

    以前了解datax,感觉对易用性不大好,目前发现已经图形配置工具。简单整理一下。 Datax 的使用过程中,我们会发现,不管是利用 java 调用以及 python 命令启动的方式,我们都无法进行任务的管理,并且每次执行任务前,我们 都需要编辑 Json 配置文件,这是比较繁琐的,随着业

    2024年02月05日
    浏览(44)
  • 使用python脚本生成datax-json脚本(一次性操作多张表),并使用datax将业务数据从mysql采集到hdfs

    废话不多说,上代码(因为这个代码是从别的地方复制后修改的,有许多冗余的地方,但是不影响运行--从mysql将数据导入到hdfs):  接下来是通过shell脚本,使用datax将数据从mysql 采集到hdfs (下面是一个离线数仓项目的demo): 当然我们也可以使用sqoop,shell脚本如下:   业务数

    2024年02月15日
    浏览(66)
  • datax的使用以及参数解释,快速入门版

    本文我们介绍一下datax的基础用法,让初学者能够实现快速入门,即刻应用 首先,来了解一下datax是什么,datax简单可以理解为数据同步的一个工具,将一个系统中存储的数据存储到另一个系统中。 举例来说,我们将数据存储到了HDFS中,但是现在我们想要使用这些数据来进行

    2024年02月12日
    浏览(51)
  • DataX-web安装部署和使用

    MySQL (5.5+) 必选,对应客户端可以选装, Linux服务上若安装mysql的客户端可以通过部署脚本快速初始化数据库 JDK (1.8.0_xxx) 必选 DataX 必选 Python (2.x) (支持Python3需要修改替换datax/bin下面的三个python文件,替换文件在doc/datax-web/datax-python3下) 必选,主要用于调度执行底层DataX的启动脚

    2024年01月18日
    浏览(47)
  • 【大数据进阶第三阶段之Datax学习笔记】使用阿里云开源离线同步工具DataX 实现数据同步

    【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax概述  【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax快速入门   【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax类图 【大数据进阶第三阶段之Datax学习笔记】使

    2024年01月24日
    浏览(59)
  • 使用DataX对MySQL 8.1进行数据迁移

    这里采用直接下载的方式:https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202308/datax.tar.gz,不过这个包是真的有点大。 Python下载地址:https://www.python.org/downloads/ 安装的时候添加到PATH,这样后面不用再配置环境变量。 安装完成之后验证下: DataX中可以给咱们生成示例的脚本: 比如

    2024年02月10日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包