Sqoop 导入数据到hive过程解析

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
  1. 该目录下数据cp到指定的hive表emp_sqoop_test 的目录
  2. -rwxr-xr-x 1 hadoop supergroup 887 2018-10-31 06:52 /user/hive/warehouse/ruozedata_test.db/emp_sqopp_test/
  3. 最后load成功之后会删除临时目录
  4. /user/hadoop/emp

所以 sqoop导入数据到hive的过程:

  1. mysql表导入到HDFS的当前用户目录下(相当于临时文件)
  2. 再从上面的临时文件复制到最终指定的HDFS目录下
  3. 最后删除临时目录

注意:

  1. 如果中途中断提交的任务,而此时已经存在临时目录
  2. 再执行导入的时候,会报错:
  3. hdfs://192.168.52.130:9000/user/hadoop/emp already exists
  4. 只好删除临时目录在执行导入代码
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值