SQOOP数据导入

sqoop是一个用于在Hadoop和关系型数据库(Oracle,Mysql...)间数据传递的开源工具。下面以Oracle为例,介绍使用sqoop将数据从Oracle导入到Hadoop中(HDFS、Hive和HBase)。

1、导入命令及参数介绍

命令格式

$ sqoop import (generic-args) (import-args)
$ sqoop-import (generic-args) (import-args)
generic参数必须放在import参数之前,generic参数是与hadoop相关的参数,这里不做介绍。本文主要介绍import参数,import参数没有顺序要求,下面我们对常用的import参数进行介绍。

(1)通用参数:

参数名

参数说明

--connect <jdbc-uri> JDBC连接字符串
--username <username> 数据库用户名
--password <password> 数据库密码
-P 导入时,从控制台获取数据库密码
--password-file 从指定的文件中获取数据库密码
--verbose 导入时,输出更多的日志信息

import的通用参数还包括:--connection-manager ,--driver ,--hadoop-mapred-home ,--help ,--connection-param-file,--relaxed-isolation,可以在sqoop的官方文档中查看参数说明。

(2)控制参数

参数名

参数说明

--append 将数据追加到一个已经存在于HDFS中的数据集中
--target-dir <dir> 导入到HDFS目标目录
--table <table-name> 要导入的表的表名
--columns <col,col,col…> 要导入的列名,多个列名与逗号分隔
-e,--query <statement> 从查询语句导入,'select * from ...'
--where <where clause> 导入时where子句
--split-by <column-name> 导入时进行任务分割的字段,不能和--autoreset-to-one-mapper参数同时使用
--autoreset-to-one-mapper 如果导入表没有主键或者没有使用split-by指定分割字段时,使用1个mapper进行数据导入,不能和--split-by参数同时使用
-m,--num-mappers <n> 使用n个并行任务导入数据
--inline-lob-limit <n> 内嵌LOB的最大长度(byte)
-z,--compress
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值