从oracle导入数据到hive的两种方法
(2018-01-16 17:50:45)
标签:
oraclehadoophive导入数据 |
分类: hadoop |
从oracle导入数据到hive中,这里有两种方法可以实现。
1.
首先,在hive里创建表(注意加粗的两行)
create table dc_call_campaign_txt (skp_call_campaign int,
code_call_campaign string, name_call_campaign string)
row format delimited fields terminated by ';'
stored as textfile
;
然后,在oracle中导出所有数据,用‘;’分隔,保存为TXT文本文件
select
to_char(cmp.skp_call_campaign)||';'||cmp.code_call_campaign||';'||cmp.name_call_campaign
from owner_dwh.dc_call_campaign cmp
order by cmp.skp_call_campaign
;
进入到hive中的file browser,找到刚刚创建的表文件,打开,把刚保存的TXT文件上传到该文件夹里。
最后,在hive中执行语句 analyze table dc_call_campaign_txt compute statistics;
2.生成代码法。 第二种种方法较为繁琐。
方法大致概括为:在oracle中利用循环语句写‘导入每一个数据的代码’,把该代码从oracle中复制,粘贴到hive中执行,从而建表。这里给出一个用方法2生成 3列数据的样例。
--建一个表用来存代码
create table sql_txt (
);
--写循环语句生成代码,存到表里
declare
begin
end;
/