使ç¨sqoopå¯¼å ¥å¢éæ°æ®.
æ ¸å¿åæ°
--check-column
ç¨æ¥æå®ä¸äºåï¼è¿äºåå¨å¢éå¯¼å ¥æ¶ç¨æ¥æ£æ¥è¿äºæ°æ®æ¯å¦ä½ä¸ºå¢éæ°æ®è¿è¡å¯¼å ¥ï¼åå ³ç³»è¡æ°æ®åºä¸çèªå¢åæ®µåæ¶é´æ³ç±»ä¼¼
è¿äºè¢«æå®çåçç±»åä¸è½ä½¿ç¨ä»»æå符类åï¼å¦charãvarcharçç±»å齿¯ä¸å¯ä»¥çï¼åæ¶ --check-column å¯ä»¥å»æå®å¤ä¸ªå
--incremental
ç¨æ¥æå®å¢éå¯¼å ¥çæ¨¡å¼ï¼ä¸¤ç§æ¨¡å¼åå«ä¸ºappend å lastmodified
--last-value
æå®ä¸ä¸æ¬¡å¯¼å ¥ä¸æ£æ¥åæå®å段çæå¤§å¼
append模å¼
- å建mysql表
CREATE TABLE `sqoop_test` (
`id` int(11) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
- å建hive表ï¼è¡¨ç»æä¸mysqlä¸è´ï¼
hive> create external table sqoop_test(id int,name string,age int)
> ROW FORMAT DELIMITED
> FIELDS TERMINATED BY ','
> STORED AS TEXTFILE
> location '/user/hive/external/sqoop_test';
OK
Time taken: 0.126 seconds
- å å¯¼å ¥mysqlä¸çåå§æ°æ®
sqoop import --connect jdbc:mysql://localhost:3306/sqooptest --username root --password 123qwe --table sqoop_test
--hive-import --hive-overwrite --hive-table sqoop_test --fields-terminated-by ',' -m 1
å¯¼å ¥æåï¼æ¥çhive表ä¸çæ°æ®
hive> select * from sqoop_test;
OK
1 fz 13
3 dx 18
2 test 13
Time taken: 0.074 seconds, Fetched: 3 row(s)
- å¨mysql䏿·»å å æ¡å¢éæ°æ®
1 fz 13
3 dx 18
2 test 13
4 test_add_1 14
5 test_add_2 19
6 test-add-3 35
7 test-7 7
8 test-8 8
- ç°å¨å¼å§å¯¼å ¥å¢éæ°æ®,å¢éæ°æ®å å ¥åæå¤§idå¼ä¸º3
å¼å§å°è¯è¿æ ·å
sqoop import --connect jdbc:mysql://localhost:3306/sqooptest --username root --password 123qwe --table sqoop_test
--hive-import --hive-table sqoop_test --check-column id --incremental append --last-value 3 -m 1
使¯æç¤ºappend模å¼ä¸æ¯æåå ¥å°hive表ä¸
Append mode for hive imports is not yet supported. Please remove the parameter --append-mode
Â
æ£ç¡®åæ³ï¼ç´æ¥åå ¥å°hdfs
sqoop import --connect jdbc:mysql://localhost:3306/sqooptest --username root --password 123qwe --table sqoop_test
--target-dir '/user/hive/external/sqoop_test' --incremental append --check-column id --last-value 3 -m 1
job宿ï¼å¨hiveæ¥çè¡¨æ°æ®
hive> select * from sqoop_test;
OK
1 fz 13
3 dx 18
2 test 13
4 test_add_1 14
5 test_add_2 19
6 test-add-3 35
7 test-7 7
8 test-8 8
Time taken: 0.075 seconds, Fetched: 8 row(s)
æåã
Lastmodified模å¼
- Mysqlæ°å»ºä¸ä¸ªè¡¨customertest
CREATE TABLE customertest (
id INT,
name VARCHAR (20),
last_mod TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
æå ¥æ°æ®
insert into customertest(id,name) values(1,'enzo');
insert into customertest(id,name) values(2,'din');
insert into customertest(id,name) values(3,'fz');
insert into customertest(id,name) values(4,'dx');
insert into customertest(id,name) values(5,'ef');
1 enzo 2017-09-20 16:12:54
2 din 2017-09-20 16:12:58
3 fz 2017-09-20 16:13:01
4 dx 2017-09-20 16:13:05
5 ef 2017-09-20 16:13:09
- å¨hive䏿°å»ºè¡¨customertestï¼è¡¨ç»æç±»ä¼¼
hive> create table customertest(id int,name string,last_mod string)
> ROW FORMAT DELIMITED
> FIELDS TERMINATED BY ','
> STORED AS TEXTFILE;
OK
Time taken: 0.189 seconds
- å¯¼å ¥mysql表ä¸çæ°æ®
sqoop import --connect jdbc:mysql://localhost:3306/sqooptest --username root --password 123qwe --table customertest
--hive-import --hive-table customertest --fields-terminated-by ',' -m 1
Â
hive> select * from customertest;
OK
1 enzo 2017-09-20 16:12:54.0
2 din 2017-09-20 16:12:58.0
3 fz 2017-09-20 16:13:01.0
4 dx 2017-09-20 16:13:05.0
5 ef 2017-09-20 16:13:09.0
Time taken: 0.064 seconds, Fetched: 5 row(s)
- æ¤æ¶å¨mysqlä¸æå ¥ä¸æ¡æ°æ®
insert into customertest(id,name) values(6,'enzoDin')
æå ¥ä¹å表ä¸çæ°æ®
1 enzo 2017-09-20 16:12:54
2 din 2017-09-20 16:12:58
3 fz 2017-09-20 16:13:01
4 dx 2017-09-20 16:13:05
5 ef 2017-09-20 16:13:09
6 enzoDin 2017-09-20 16:17:53
Â
- åæ¥æ ¹æ®last_modæ¥å¯¼å ¥å¢éæ°æ®
sqoop import --connect jdbc:mysql://localhost:3306/sqooptest --username root --password 123qwe --table customertest
--hive-import --hive-table customertest --check-column last_mod --incremental lastmodified --last-value "2017-09-20 16:13:09" --fields-terminated-by ',' -m 1
å¯¼å ¥æå
hive> select * from customertest;
OK
1 enzo 2017-09-20 16:12:54.0
2 din 2017-09-20 16:12:58.0
3 fz 2017-09-20 16:13:01.0
4 dx 2017-09-20 16:13:05.0
5 ef 2017-09-20 16:13:09.0
5 ef 2017-09-20 16:13:09.0
6 enzoDin 2017-09-20 16:17:53.0
Time taken: 0.064 seconds, Fetched: 7 row(s)