Sqoop通过条件实现数据的抽取

1. where条件部分导入HDFS

我们可以导入表时使用Sqoop导入工具,"where"子句的一个子集。它执行在各自的数
据库服务器相应的SQL查询,并将结果存储在HDFS的目标目录。

sqoop import \
--connect jdbc:mysql://192.168.52.150:3306/test \
--username root --password 123456 --table emp_add \
--target-dir /sqoop/emp_add -m 1  --delete-target-dir \
--where "city = 'sec-bad'"

2. sql语句查找导入hive表

我们还可以通过 –query参数来指定我们的sql语句,通过sql语句来过滤我们的数据进行导入

sqoop import \
--connect jdbc:mysql://192.168.52.150:3306/test --username root --password 123456 \
--query "select * from emp where id>1203 and  \$CONDITIONS" \
--fields-terminated-by '\t' \
--hcatalog-database sqooptohive \
--hcatalog-table emp_hive \
-m 1

注意:有时候where后面如果没有条件的话 就用  where  1 = 1 代替  代表true  引出后面 and  \$CONDITIONS

使用sql语句来进行查找时不能加参数--table 
并且必须要添加where条件,
并且where条件后面必须带一个$CONDITIONS 这个字符串,
并且这个sql语句如果使用双引号,则要修改为\$CONDITIONS
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值