1.
mysql数据库(sqoop)emp表导入到hive中数据库(ruozedata_teset)的emp_sqoop_test表
执行下面代码 sqoop import \–connect jdbc:mysql://192.168.52.130:3306/sqoop \–username root \–password 123456 \-m 1 \–table emp \–hive-database ‘ruozedata_test’ \–hive-import \–hive-overwrite \–direct \–hive-table ’emp_sqopp_test’ \–fields-terminated-by ‘\t’ \–input-null-non-string ‘0’ \–input-null-string ” 先在hdfs当前用户目录生成emp文件如 1. :drwxr-xr-x – hadoop supergroup 0 2018-10-31 06:47 /user/hadoop/emp 该目录下数据cp到指定的hive表emp_sqoop_test 的目录-rwxr-xr-x 1 hadoop supergroup 887 2018-10-31 06:52 /user/hive/warehouse/ruozedata_test.db/emp_sqopp_test/最后load成功之后会删除临时目录/user/hadoop/emp
所以 sqoop导入数据到hive的过程:
mysql表导入到HDFS的当前用户目录下(相当于临时文件)再从上面的临时文件复制到最终指定的HDFS目录下最后删除临时目录
注意:
如果中途中断提交的任务,而此时已经存在临时目录再执行导入的时候,会报错:hdfs://192.168.52.130:9000/user/hadoop/emp already exists只好删除临时目录在执行导入代码 67839623