Sqoop常用样例


mysql导入hdfs-方式一:全表导入
bin/sqoop import
–connect jdbc:mysql://hadoop102:3306/zy \ 数据库地址
–username root
–password 000000
–table staff \ mysql中的表
–target-dir /user/company \ 导入的路径会自动生成
–delete-target-dir \ 直接向hdfs导数据的时候这个参数不生效,这个是导入hive的时候用的由于习惯原因,写上了
–num-mappers 2 \ 底层MR拉数据的map数,默认4
–split-by id \ 分区的依据,只能是数据库中表的主键
–fields-terminated-by “\t” 数据到仓库中的分隔符


mysql导入hdfs-方式二:可以指定条件达到部分导入
bin/sqoop import
–connect jdbc:mysql://hadoop102:3306/company
–username root
–password 000000
–table staff \ 数据库中的表
–columns id,name \ 指定导入列
–where ‘id>=11 and id<=16’ \ 指定导入条件
–target-dir /user/company \ 临时路径导入
–delete-target-dir \ 导入之后会自动删除临时路径
–num-mappers 2
–split-by id
–fields-terminated-by “\t”


mysql导入hdfs-方式三:方式二的优化版,通过sql指定
bin/sqoop import
–connect jdbc:mysql://hadoop102:3306/company
–username root
–password 000000
–query ‘select * from staff where $CONDITIONS and id<=10’ \ 数据导入的sql,其中CONDITIONS必须存在,它是sqoop读取数据的占位符
–target-dir /user/company
–delete-target-dir
–num-mappers 2
–split-by id
–fields-terminated-by “\t”


mysql导入hive-通过sql语句导入
bin/sqoop import
–connect jdbc:mysql://hdp2:3306/zy
–username root
–password root
–query ‘select * from test where $CONDITIONS’
–num-mappers 2
–hive-import 可以视为使用导入命令的hive命令分支
–hive-overwrite 覆盖写
–hive-table zy.staff_hive
–target-dir /tttt 导入hive的时候这个就是一个中转的路径
–delete-target-dir 导入之后删除中转路径
–split-by id
–fields-terminated-by “\t”


hive或hdfs导入mysql
bin/sqoop export
–connect jdbc:mysql://hdp2:3306/zy
–username root
–password root
–table zy717
–num-mappers 2
–export-dir /hive/warehouse/zy.db/zy717 hdfs上数据的存放地,hive表数据也是在hdfs上的一个路径
–input-fields-terminated-by “\t”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值