导入命令
官方文档:
https://sqoop.apache.org/docs/1.4.7/SqoopUserGuide.html#_using_command_aliases
中文文档:
https://cloud.tencent.com/developer/article/1479981
https://www.jianshu.com/p/ec9003d8918c
命令格式
sqoop import \
--connect jdbc:mysql://ip:3306/databasename #指定JDBC的URL
--table tablename #要读取数据库database中的表名
--username root #用户名
--password 123456 #密码
--target-dir /path #指的是HDFS中导入表的存放目录(注意:是目录)
--fields-terminated-by '\t' #设定导入数据后每个字段的分隔符,默认;分隔
--m 1 #-m 参数可以指定 map 任务的个数,默认是 4 个。如果指定为 1 个 map 任务的话,最终生成的 part-m-xxxxx 文件个数就为 1。在数据充足的情况下,生成的文件个数与指定 map 任务的个数是等值的。
-- where '查询条件' #导入查询出来的内容,表的子集
--null-string '' #导入的字段为空时,用指定的字符进行替换
注意
参数名和参数值中间只能有一个空格,否则可能报错
如下:
--password root # 前面多出空格,会报密码错误
--target-dir /test_sqoop # 前面多出空格,生成的目录只有空格