sqoop使用手册(详细版)

1 Sqoop概述

Sqoop是一个旨在Hadoop和关系数据库或主机之间传输数据的工具。你可以使用Sqoop从关系型数据库管理系统(RDBMS),如MySQL、Oracle或大型机到Hadoop分布式文件系统(HDFS)导入数据,在Hadoop中的MapReduce转换数据,然后将数据导出到一个RDBMS 。Sqoop使用MapReduce导入和导出数据,它提供了并行操作,以及容错。

2 版本说明

本文档适用于Sqoop1。

软件 版本
Sqoop 1.4.5-cdh5.3.0
Mysql JDBC驱动 5.1.32
ORACLE JDBC驱动 和oracle版本保持一致

3 驱动安装

3.1 MySQL

将驱动对应的jar包放置到 /usr/share/java/下。

如:/usr/share/java/mysql-connector-java-5.1.32-bin.jar

4 基本用法

4.1 导入

sqoop import \
--connect  JDBC_URL      \
--username USERNAME      \
--password PASSWORD   \
--table TABLE        \
--hive-import        \
--split-by SPLIT_BY_COL \
--num-mappers N        \
--hive-database HIVE_DB_NAME    \ 
--hive-table HIVE_TABLE_NAME    \ 
(--hive-partition-key partition_name    \
--hive-partition-value partititon_value    \
附:如果是分区表则需指出分区名称和分区值)
--columns col1,clo2,col3…     \
--warehouse-dir /user/hive/warehouse/       \
--fields-terminated-by ‘|’     \
--direct                       \
--compress

参数说明

参数 说明
--connect 连接RDBMS的jdbc连接字符串。
示例:--connect jdbc:mysql:// MYSQL_SERVER: PORT / DBNAME
其中:mysql默认端口号为3306;
示例:--connect jdbc:oracle:thin:USERNAME/PASSWORD@ORACLE_SERVER:PORT: SID
其中:Oracle默认端口号为1521;
thin:是驱动方式,“瘦”的意思,直接使用原生的Oracle JDBC驱动;
SID:是一个数据库的唯一标识符,是建立一个数据库时系统自动赋予的一个初始ID。
--username 连接RDBMS所使用的用户名。
--password 连接RDBMS所使用的密码。
--table 将要导入到hive的表。
--split-by 分割导入任务所使用的字段。需要明确指定,推荐使用主键。
--hive-import 插入数据到hive当中,使用hive默认的分隔符。
-m, --num-mappers< n> 使用n个map任务并行导入数据。是指生成的map任务的总数量,
不是同时处于RUNNING状态的数量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值