1 常用命令列举
这里给大家列出来了一部分 Sqoop 操作时的常用参数,以供参考,需要深入学习的可以参看对应类的源代码。
![](https://img2020.cnblogs.com/blog/1275415/202007/1275415-20200731152649240-319053032.png)
2 命令&参数详解
刚才列举了一些 Sqoop 的常用命令,对于不同的命令,有不同的参数,让我们来一一列举说明。
首先来我们来介绍一下公用的参数,所谓公用参数,就是大多数命令都支持的参数。
2.1 公用参数:数据库连接
2.2 公用参数:import
![](https://img2020.cnblogs.com/blog/1275415/202007/1275415-20200731152834356-141175035.png)
2.3 公用参数:export
![](https://img2020.cnblogs.com/blog/1275415/202007/1275415-20200731152941906-1545921682.png)
2.4 公用参数:hive
![](https://img2020.cnblogs.com/blog/1275415/202007/1275415-20200731153001993-2077649950.png)
公用参数介绍完之后,我们来按照命令介绍命令对应的特有参数。
2.5 命令&参数:import
将关系型数据库中的数据导入到 HDFS(包括 Hive,HBase)中,如果导入的是 Hive,那么当 Hive 中没有对应表时,则自动创建。
1) 命令:
如:导入数据到 hive 中
$ bin/sqoop import --connect jdbc:mysql://hadoop102:3306/company --username root --password 000000 --table staff --hive-import
如:增量导入数据到 hive 中,mode=append
append 导入: $ bin/sqoop import --connect jdbc:mysql://hadoop102:3306/company --username root --password 000000 --table staff --num-mappers 1 --fields-terminated-by " " --target-dir /user/hive/warehouse/staff_hive --check-column id --incremental append --last-value 3
尖叫提示:append 不能与--hive-等参数同时使用(Append mode for hive imports is not yetsupported. Please remove the parameter --append-mode)
如:增量导入数据到 hdfs 中,mode=lastmodified
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
先在 mysql 中建表并插入几条数据: mysql> create table company.staff_timestamp(id int(4), name varchar(255), sex varchar(255), last_modified timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP); mysql> insert into company.staff_timestamp (id, name, sex) values(1, 'AAA', 'female'); mysql> insert into company.staff_timestamp (id, name, sex) values(2, 'BBB', 'female'); 先导入一部分数据: $ bin/sqoop import --connect jdbc:mysql://hadoop102:3306/company --username root --password 000000 --table staff_timestamp --delete-target-dir --m 1 再增量导入一部分数据: mysql> insert into company.staff_timestamp (id, name, sex) values(3, 'CCC', 'female'); $ bin/sqoop import --connect jdbc:mysql://hadoop102:3306/company --username root --password 000000 --table staff_timestamp --check-column last_modified --incremental lastmodified --last-value "2017-09-28 22:20:38" --m 1 --append
尖叫提示:使用 lastmodified 方式导入数据要指定增量数据是要--append(追加)还是要
--merge-key(合并)
尖叫提示:last-value 指定的值是会包含于增量导入的数据中
2) 参数:
![](https://img2020.cnblogs.com/blog/1275415/202007/1275415-20200731153337479-1353118269.png)
2.6 命令&参数:export
。。。。。。