Loading Data From Oracle To Hive By ODI 12c

本文描述如何通过ODI将Oracle表数据同步到Hive。

1、准备工作

在hadoop集群的各个节点分别安装Oracle Big Data Connectors,具体的组件如下图所示:




这里只需安装Oracle Loader For Hadoop(oraloader)以及Oracle SQL Connector for Hadoop Distributed File System (oraosch)两个软件。安装比较简单,直接解压即可使用(这里的ODI、oraosch以及oraloader组件都是以oracle用户身份安装的。)

2、创建目标表

在Hive上创建目标表,如下:

CREATE TABLE `RHNPACKAGE2`(
  `id` bigint, 
  `org_id` bigint, 
  `name_id` bigint, 
  `evr_id` bigint, 
  `package_arch_id` bigint, 
  `package_group` bigint, 
  `rpm_version` string, 
  `description` string, 
  `summary` string, 
  `package_size` bigint, 
  `payload_size` bigint, 
  `installed_size` bigint, 
  `build_host` string, 
  `build_time` timestamp, 
  `source_rpm_id` bigint, 
  `checksum_id` bigint, 
  `vendor` string, 
  `payload_format` string, 
  `compat` bigint, 
  `path` string, 
  `header_sig` string, 
  `copyright` string, 
  `cookie` string, 
  `last_modified` timestamp, 
  `created` timestamp, 
  `header_start` bigint, 
  `header_end` bigint, 
  `modified` timestamp);

3、创建映射
之前已经创建好oracle和hive模型,这里直接使用其创建映射。如下图所示:

Integration Type设置属性:

连接设置属性:

过滤设置属性:

LKM设置属性:

IKM设置属性:

如果设置TRUNCATE的值为True,每次导入之前,会把表里的数据清空再导入,默认为false。
4、执行映射
结果如下图: