[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
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
修改测试数据:
insert overwrite table default.test123 select 1,'bill',6 from default.kwu_test limit 1;
查看mysql数据库中age已经修改为6.
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/bdchome/article/details/47343387