一、从RDBMS(mysql)中导入数据到hdfs
①全部导入(导入一个表中的数据)
在sqoop的安装目录下执行以下命令:
bin/sqoop import \
--connect jdbc:mysql://hadoop102:3306/sqoop_test \
--username root \
--password 061111 \
--table staff \
--target-dir /user/sqoop \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "\t"
其中,–connect:表示连接的数据库地址(sqoop_test为数据库名)
–username和–password 表示要连接的数据库的用户名和密码
–table 表示想要导出数据的表
–target-dir 表示要导入到hdfs中的目录(如果不指定,默认存储在“/user/用户名/导入的表名” 目录下)
–delete-target-dir 表示如果在hdfs中有该目录,则先删除,然后再导入数据到该目录下
–num-mappers 表示设置的maptask个数,默认为4个,决定最终在hdfs中生成的文件个数(将table中的数据分成几个文件分别存储)
注意:两个命令--xxx之间要有个空格*
②查询导入(部分导入,导入sql执行后的结果)
bin/sqoop import