本文介绍如何将文本文件中的数据通过ODI导入Hive数据仓库。
一、Hive上创建目标表
1.1 源表定义
CREATE TABLE EXAM_SCORE
(
ID NUMBER(4),
AREA_ID NUMBER(1),
EXAM_INFO_ID NUMBER(3),
STU_SEQUENCE NUMBER(12),
SCORE NUMBER(3),
SUBJECT_ID NUMBER(3),
CLASS_ID NUMBER(6)
)
1.2 目标表定义
CREATE TABLE hivedb.exam_score
(
ID string,
AREA_ID string,
EXAM_INFO_ID string,
STU_SEQUENCE string,
SCORE string,
SUBJECT_ID string,
CLASS_ID string
);
二、构造映射关系
2.1 新建Hive模型
如下图所示,输入相关参数后,先保存,然后点击“Reverse Engineer”,同步表结构。
2.2 新建File模型
Definition选项栏:
Files选项栏:
Attributes选项栏:
2.3 创建映射关系图
拖动文件模型和hive模型,组成下图中的映射关系:
其中,LKM选择“LKM File to Hive LOAD DATA.GLOBAL”,如果文件在本地,则设置“FILE_IS_LOCAL”的值为“True”,如下图:
其中、IKM选择“IKM Hive Incremental Update.GLOBAL”,如果要清空表中现有数据,则设置TRUNCATE的值为True即可,如下图:
最后保存所有更改。
2.4 执行映射
执行结果如下图:
原文地址:http://blog.51cto.com/candon123/2087618
时间: 2024-11-06 03:45:26