本文描述如何通过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、执行映射
结果如下图:
原文地址:http://blog.51cto.com/candon123/2088516
时间: 2024-11-03 01:37:08