从Oracle导出数据并导入到Hive

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

源(oracle):

clipboard

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

clipboard

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

jar包可通过这里查找下载:https://mvnrepository.com/artifact/org.apache.hive/hive-jdbc/2.1.1

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

clipboard

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

clipboard

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

clipboard

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

此处选择的是SFTP方式

clipboard

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

clipboard

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

clipboard

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

clipboard

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

clipboard

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

clipboard

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

clipboard[10]


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

https://www.cnblogs.com/haohedi/p/9802674.html


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

猜你喜欢

转载自www.cnblogs.com/haohedi/p/10417902.html