Sqoop 浅入浅出

Sqoop

一个在Hadoop和关系型数据库之间高效传输数据的工具
最新稳定版1.4.7(Sqoop2不建议生产使用)
已经从Apache毕业

本质其实只是一个命令行工具
生产中基本都是 在拼接Sqoop命令完成数据的导入导出
底层工作机制:导入导出 在底层实际被翻译为MapReduce程序来实现,主要是对MR的 InputFormat 和 OutputFormat 进行定制

学习前提:linux常用命令 RDBMS基操 Hadoop用途和基操

安装Sqoop
后续的jar包都放在lib目录即可

一、sqoop-import

1.简单说明

这个命令基本也是使用最多的,生产上一般会把关系型数据库的数据通过sqoop import导入到数仓
sqoop import只能同步单表数据到HDFS,表的每一行对应HDFS的一行记录
文件格式:存储可以为文本文件(每行一条记录),或以二进制表示形式存储为 Avro 或 SequenceFiles
sqoop import-all-tables 命令可以多表一起同步 。 sqoop-import & sqoop import是一样的

2.命令参数

--connect <jdbc-uri>	
--connection-manager <class-name>	指定要使用的连接管理器类                     
--driver com.mysql.jdbc.Driver /  com.microsoft.jdbc.sqlserver.SQLServerDriver	
--hadoop-mapred-home <dir>	
--password-file	虽然安全但是不常用,一般集群都是内网
-P	不常用
--password <password>	常用 
--username <username>	
--verbose	工作时打印更多信息
--relaxed-isolation	将连接事务隔离设置为读取未提交的映射器  (默认读已提交)         

其他参数:
--append	将数据追加到 HDFS 中的现有数据集
--as-avrodatafile 将数据导入 Avro 数据文件
--as-sequencefile 将数据导入SequenceFiles
--as-parquetfile 将数据导入 Parquet 文件
--as-textfile	 以纯文本形式导入数据(默认)
--columns <col,col,col…> 需要从表中导入的列
--delete-target-dir	删除导入目标目录(如果存在)
--direct	 如果数据库存在,则使用直接连接器
--fetch-size <n>  一次从数据库中读取的条目数
-m,--num-mappers <n>	使用n个map任务并行导入
-e,--query <statement>	导入语句的查询结果
--table <table-name> 需要导入的源表
--target-dir <dir>	 HDFS目的地
--where <where clause>	 在导入期间使用的WHERE子句
-z,--compress	启用压缩
--compression-codec <c>	 使用hadoop编解码器(默认gzip)
--null-string <null-string>	 要为字符串列的空值写入的字符串
--null-non-string <null-string>	 要为非字符串列的空值写入的字符串
--split-by <column-name>	用于拆分工作单元的表格列
--split-limit <n>	每个分割大小的上限。这仅适用于整数和日期列。对于日期或时间戳字段,它以秒为单位计算。
--autoreset-to-one-mapper	表没有主键而且你也没有配置 --split-by 拆分列,这时只能全表单个map读数据了

--null-string和-null-non-string参数是可选的。如果未指定,则默认使用字符串"null&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值