sqoop常用参数

导入

bin/sqoop import
-----------------公共参数----------------------
–connect 指定jdbc url
–password 指定数据库密码
–username 指定数据库的用户名
-----------------导hdfs使用-----------------------
–append 追加数据到HDFS目录
–as-textfile 将数据写成textfile文件格式
–as-parquetfile 将数据写成parquet文件格式
–delete-target-dir 在写入HDFS之前,删除目标目录
–fetch-size 每个批次从mysql获取多少数据
–target-dir 指定HDFS存储路径
–num-mappers[-m] 指定mapper的个数
–query[-e] 直接通过sql语句查询符合我们要求的数据 select … from … where …
–table 指定查询哪个表的数据
–where 指定查询的数据条件
–columns 指定导出mysql表的哪些字段
–split-by 指定按照哪个列进行切分
–compress 导入hdfs的时候是否压缩
–compression-codec 指定压缩格式
–null-string 将mysql string类型的null值转成hive的null值
–null-non-string 将mysql 非string类型的null值转成hive的null值
–check-column 指定按照哪个列进行增量导入
–incremental append[只导入新增数据]/lastmodified[导入新增与修改数据]
–last-value 上一次的最后的修改值
–fields-terminated-by 指定数据保存到HDFS的时候,字段之间的分隔符是什么
–lines-terminated-by 指定数据保存到HDFS的时候,行之间的分隔符是什么
---------------导入hive使用------------------
–hive-import 表示将数据直接导入hive表
–hive-overwrite 是否覆盖hive数据
–create-hive-table hive表不存在的时候,是否创建hive表
–hive-table 指定hive表
–hive-partition-key 指定hive表的分区字段
–hive-partition-value 指定hive分区值

举例:

bin/sqoop import
–connect jdbc:mysql://hadoop102:3306/gmall
–password root123
–username root
–as-textfile
–delete-target-dir
–fetch-size 100
–num-mappers 2
–query “select * from user_info where id>1 and id<=100 and $CONDITIONS”
–split-by id
–null-string ‘\N’
–null-non-string ‘\N’
–fields-terminated-by “\t”
–target-dir hdfs://hadoop102:8020/sqoop

导出

bin/sqoop export
-----------------公共参数----------------------
–connect 指定jdbc url
–password 指定数据库密码
–username 指定数据库的用户名

–columns 导入数据到mysql哪些列
–export-dir 从hdfs哪个路径导出数据
–num-mappers 指定mapper的个数
–table 将数据导入mysql哪个表
–update-key 按照哪个字段来判断数据是否在mysql中已经存在
–update-mode updateonly[只更新]/allowinsert[如果存在,就更新,不存在就插入]
–input-null-string 如果数据是字符串类型,写入mysql的时候写成什么
–input-null-non-string 如果数据是非字符串类型,写入mysql的时候写成什么

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值