oracle导出到hive,从Oracle导出数据并导入到Hive

article/2025/10/20 2:10:45

1、配置源和目标的数据连接

源(oracle):

52116c8000720a9098c1a4fa7027b706.png

目标(Hive 2.1.1),需要事先将hive的驱动程序导入HHDI的lib目录中。

99eac5dcb51d41ffad88d4e63ec291c6.png

Hive2.1.1需要的jar包如下:可根据自身情况更换hadoop和hive的jar包。

hadoop-common-2.6.0.jar

hive-common-2.1.0.jar

hive-jdbc-2.1.0.jar

hive-metastore-2.1.0.jar

hive-serde-2.1.0.jar

hive-service-2.1.0.jar

hive-service-rpc-2.1.0.jar

hive-shims-2.1.0.jar

2、创建一个导出文本任务,将Oracle的表数据导出到一个文本文件中

63b47ad4f00106133b0e6cefb07d08b8.png

配置源表查询语句来抽取源表中的数据,可以增加Where条件缩小抽取的范围。

833bf3c6956df8dabc4934a7db9b6609.png

数据被导出为一个txt文件到HHDI服务所在机器的磁盘中,后缀名为批次号,例如:O_RECORD_BLOODGLUCOSE.20170301

2f97fff9763f6163abeefba8f38ad6c8.png

3、将导出的文本文件上传到Hive所在主节点机器的目录中,如果该Hive节点的目录和HHDI服务器的目录做了路径映射,则可以省略这个步骤。

此处选择的是SFTP方式

965b955a66a2982dffb9a0dec2f34e75.png

Hive的主节点为192.168.1.195,SFTP服务已经启用

b0bced5e6393bfbeeed9fdba00721e41.png

上传的源文件和目标文件的配置

61f4c6499b1c4ebfa0b08e9a12afa2f3.png

4、创建一个执行SQL任务,在Hive服务器上执行建表和导入文本数据的命令

51a9461974d914dcc8ee38e293162eea.png

采用LOAD DATA命令将本地文件导入Hive

be2d4dae37e3a57b20f05dcc60e85009.png

5、创建一个作业流程,将上面创建的几个转换任务编入流程,注意顺序

3e1a90f4e7c86b56e0a7e61c15db4127.png

6、手工执行该作业流程,将oracle的数据导出并导入hive。

e7b4bf76a0bfc310b9ff9b639551d673.png

除此之外还可以通过CDATA的Hive驱动来从数据库直接导入数据到Hive,详情可查看另外一篇文章:

HHDI(www.haohedi.com)让ETL变得简单!


http://chatgpt.dhexx.cn/article/YvEZyUrK.shtml

相关文章

Oracle导出数据字典

由于项目是不断迭代更新,数据库表也是根据需求不断更改,导致现在数据库50多张表数据字典都没有整理,现在领导突然需要数据字典,一时很难弄出来,于是就想通过一个快捷的办法生成数据字典,具体的步骤如下&…

Oracle数据表导入导出_数据迁移用

0.背景:突然接到居家办公的通知,工作用数据全部在内网,需要全部拷出带走,最大的单个表3.7G左右。根据往常经验将Oracle库中表导出为xlsx(方便与同事沟通使用),发现效率太低,且受制于…

php设置中国时区方法

当我们输出:echo date(Y-m-d H:i:s,strtotime(now)); 发现输出的时间和当前系统的时间不一致的时候,我们需要改php.ini配置文件,使得输出的时间和当前系统时间一致 方法一:php.ini配置文件中设置中国时区,代码如下 da…

nginx php 设置时区,laravel5.8(二十)解决时区设置差8个小时解决办法

在使用laravel日志的时候,发现了一个问题,laravel日志记录的时候,总是要比我当前的时间差8个小时。 在服务器端输出格式化时间,也是当前的时间,这个就有点奇怪。百度了一下。 原来从php5.1.0开始,php.ini里…

php配置设置时区,php如何设置时区

php设置时区的方法:可以使用函数ini_set(date.timezone,Asia/Shanghai)来设置时区。还可以使用函数date_default_timezone_set(‘Asia/Shanghai)来设置。 在程序PHP 5以上版本的程序代码中使用函数date_default_timezone_set(‘Asia/Shanghai);来设置时区&#xff0…

php中的时间函数(如何设置时区有4种方法)------与时间相关的函数 (time、date、m‘ktime、microtime(true)、strtotime)

1.如何设置时区:服务器默认的时间都是国家统一时间格林威治,所以在使用服务器前需要设置当前服务器的时区位于用于指定的时区。 设置时区: 1、找到php.ini文件,找到date.zonetime。 (1)date.zonetime 大洲/城市 …

php:php时区的三种设置方式

格林威治标准时间和我们的时间(北京时间)差了正好8个小时。如果不设置时区,php时间默认使用格林威治标准时间。 方法一(推荐) 在php.ini里加上找到date.timezone项,设置date.timezone “Asia/Shanghai”,重启环境就…

Telnet的简单使用

当我们在cmd客户端输入telnet ip的时候,会提示telnet 不是内部或外部命令的错误,这是因为我们的Windows系统的Telnet客户端程序没有开启。例如: 1. 开启Windows系统的Telnet客户端 1) 打开控制面板,点击程序功能&…

Ubuntu18.04系统如何安装和使用telnet工具

在ubuntu18.04中如何安装和使用telnet工具呢?本文给出详细说明。 1.更新软件列表 sudo apt update 2.安装telnet服务 sudo apt install openbsd-inetd telnetd 3.查看telnet运行状态 netstat -a | grep telnet 4.登录测试 telnet 127.0.0.1

【Windows篇】Telnet指令介绍以及telnet测试端口连接示例

演示环境 1.VMware Workstation16虚拟机 2.windows10企业版镜像 前言 Telnet是Internet远程登录服务的标准协议和主要方式,最初由ARPANET开发,现在主要用于Internet会话,它的基本功能是允许用户登录进入远程主机系统。telnet程序是基于TELN…

Telnet协议抓包-工具Wireshark

虚拟机与物理机都进行的操作,打开控制面板 --> 点开程序 --> 点开“打开或关闭Windows功能”,在虚拟机设置telnet服务端,在物理机设置telnet客户端。 在虚拟机进行如下操作:WindowsR --> 输入services --> 进入到服务…

Telnet介绍及其安装

Telnet是一种协议,其是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。 Windows 系统自带了基于Telnet协议的程序,包括服务端程序和客户端程序, 所以习…

win10环境下的telnet工具使用(客户端和服务端)

开启服务 默认情况下win10里telnet工具是不开启的 如何开启telnet工具,网上有诸多教程,但是win10环境下的telnet工具是被阉割过的,只有客户端程序,即能在本机通过telnet访问其他主机,但是没有服务端程序,即…

【高效开发工具系列】Windows 怎么使用 telnet

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

推荐一款好用的telnet工具

常用telnet的人可能都知道secureCRT这款工具,支持多标签,密码保存等功能;可是它是共享软件;于是很多人就用putty来代替它; putty小巧好用,不过和secureCRT相比不支持密码记忆和多标签功能。今天我向大家推…

批量ping及telnet工具

批量ping及telnet工具 批量ping及telnet工具说明界面使用方法工具下载链接 批量ping及telnet工具说明 这款工具针对一个网段批量ping测试和对同一网段内指定端口的telnet测试。适合用于测试一个网段的机器有没有开放特定端口,防火墙策略检测,或是否打开…

电脑telnet工具如何开启

打开电脑Telnet 打开电脑----开始---控制面板----程序和功能----打开或关闭WINDOWS功能----TELNET 客户端勾选,并点击确定。 Telnet工具的使用 点击开始----运行----输入CMD(打开命令窗口),直接输入telnet IP(设备I…

Linux删除文件夹权限不够

第一种:文件夹有锁 使用命令 sudo chmod 777 test 给与这个test文件夹读写权限。 即可去点文件夹的锁,然后可以删除 第二种:文件夹没有锁,却还是不能删除,提示权限不够 这种情况,文件夹的属性-权限如下如…

linux给文件夹添加查看密码是什么,Linux如何给文件夹设置密码

电脑里经常会存储着重要文件,这些文件需要进行加密,有许多方法来实现。但是你知道在Linux里面怎么给文件夹加密码?下面跟着学习啦小编一起来了解一下吧。 Linux如何给文件夹设置密码 Cryptkeeper是一个Linux系统托盘小应用程序,可以管理经过加密的文件夹。在它下面的EncFS则…

Linux通过共享文件夹传递文件

Linux通过共享文件夹传递文件 本文通过举例子的方式来记录,如何通过共享文件夹,将Windows系统下的文件传到Linux系统下。 假设我们在Windows系统下装了Linux虚拟机(我的是ubuntu20.04版)。现在我们的Windows系统下有一个文件“a…