码迷,mamicode.com
首页 > 其他好文 > 详细

解决sqoop导入关系库更新联合主键的问题

时间:2015-08-07 19:49:07      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:sql   sqoop   hive   

[Author]: kwu 

sqoop导入关系库更新联合主键的问题,把数据从hive中导入关系库,如果关系库表有联合主键的情况,且需要把新导入的数据更新原来的数据。

1、创建关系库表

CREATE TABLE
test123
(
id INT NOT NULL,
name VARCHAR(25) NOT NULL,
age INT,
PRIMARY KEY (id, name)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8

2、创建hive表

drop table default.test123;
create table default.test123
(
   id int,
   name                string,
   age                  int
)
ROW FORMAT DELIMITED fields terminated by '\t'
STORED AS TEXTFILE;

导入测试数据:

insert overwrite table default.test123 select 1,'bill',5 from default.kwu_test limit 1;

3、sqoop导入mysql数据库

sqoop export  --connect jdbc:mysql://10.130.2.245:3306/test --update-key "id,name"   --username kwu  --password 'java.netphp'  --table test123  --fields-terminated-by '\t' --columns "id,name,age" --export-dir /hive/warehouse/test123

说明: 关键 --update-key 指定联合主键的值

修改测试数据:

insert overwrite table default.test123 select 1,'bill',6 from default.kwu_test limit 1;


查看mysql数据库中age已经修改为6.



版权声明:本文为博主原创文章,未经博主允许不得转载。

解决sqoop导入关系库更新联合主键的问题

标签:sql   sqoop   hive   

原文地址:http://blog.csdn.net/bdchome/article/details/47343387

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!