详解大数据采集引擎之Sqoop&采集oracle数据库中的数据
一、Sqoop的简介:
Sqoop是一个数据采集引擎/数据交换引擎,采集关系型数据库(RDBMS)中的数据,主要用于在RDBMS与HDFS/Hive/HBase之间进行数据传递,可以通过sqoop import命令将RDBMS中的数据导入到HDFS/Hive/HBase中,也可以通过sqoop export命令将HDFS/Hive/HBase中的数据导入到RDBMS中,特点:批量采集数据,底层依赖于MapReduce程序,工作原理:通过JDBC连接到关系型数据库(RDBMS)。
二、Sqoop的实验条件:
实验条件:安装Windows XP操作系统和oracle数据库。
为什么要选择关系型数据库中的oracle数据库呢?
原因:1、在windows系统上安装oracle数据库比在linux系统上更简单。2、oracle数据库中的SH用户含有sales订单表,表中包含92万条记录,SCOTT用户含有现成的员工表emp.csv和部门表dept.csv。
三、各种数据库对应的驱动类名和URL格式:
数据库 驱动类名 URL格式 端口号
oracle oracle.jdbc.OracleDriver jdbc:oracle:thin:@IP:1521:orcl 1521
mysql com.mysql.jdbc.Driver jdbc:mysql://IP:3306/dbname?name=value 3306
hive org.apache.hive.jdbc.HiveDriver jdbc:hive2://IP:10000/dbname 10000
四、安装和配置Sqoop:
注:不需要修改配置文件
1、安装sqoop:tar -zxvf sqoop-1.4.5bin_hadoop-0.23.tar.gz -C ~/training
2、配置SQOOP_HOME环境变量:
export SQOOP_HOME=/root/training/sqoop-1.4.5bin_hadoop-0.23
export PATH=$SQOOP_HOME/bin:$PATH
五、使用sqoop语句采集RDBMS中的数据:
1、导入员工表EMP中的所有数据:
sqoop import --connect jdbc:oracle:thin:@192.168.182.157:1521:orcl --username SCOTT --password tiger --table EMP --target-dir /sqoop/import/emp1
2、导入员工表EMP中的指定列:
sqoop import --connect jdbc:oracle:thin:@192.168.182.157:1521:orcl --usrname SCOTT --password tiger --table EMP -column ENAME,SAL --target-dir /sqoop/import/emp2
3、导入SALES表中的所有数据:
sqoop import --connect jdbc:oracle:thin:@192.168.182.157:1521:orcl --username SH --password sh --table SALES --target-dir /sqoop/import/sales -m 1
4、导入SCOTT用户下的所有表到HDFS中:
sqoop import-all-tables --connect jdbc:oracle:thin:@192.168.182.157:1521:orcl --usernmae SCOTT --password tiger
5、导出HDFS中的数据到RDBMS中:
sqoop export --connect jdbc:oracle:thin:@192.168.182.157:1521:orcl --username SCOTT --password tiger --table STUDENTS --export-dir /students
六、oracle数据库与mysql数据库的区别:
1、oracle数据库区分大小写,需要大写的有:用户名、表名、列名,mysql数据库不区分大小写。
2、oracle数据库只有一个数据库:orcl,在安装oracle数据库时自动创建,mysql数据库有很多数据库。
3、oracle数据库有很多用户,表属于用户,mysql数据库有很多数据库,表属于数据库,数据库对不同用户设置了不同的访问权限。
七、Sqoop与Flume的相同与不同:
相同:sqoop和flume都是数据采集引擎。
不同:sqoop的特点:批量采集数据,flume的特点:实时采集数据,主要用于实时采集系统中。
作者:李金泽AllenLi,清华大学硕士研究生,研究方向:大数据和人工智能。
详解大数据采集引擎之Sqoop&采集oracle数据库中的数据的更多相关文章
- 使用sqoop将MySQL数据库中的数据导入Hbase
使用sqoop将MySQL数据库中的数据导入Hbase 前提:安装好 sqoop.hbase. 下载jbdc驱动:mysql-connector-java-5.1.10.jar 将 mysql-con ...
- 带你看懂大数据采集引擎之Flume&采集目录中的日志
一.Flume的介绍: Flume由Cloudera公司开发,是一种提供高可用.高可靠.分布式海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于采集数据:同时,flum ...
- Oracle数据库中序列(SEQUENCE)的用法详解
Oracle数据库中序列(SEQUENCE)的用法详解 在Oracle数据库中,序列的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值.本文我们主要介绍了 ...
- Sqoop(三)将关系型数据库中的数据导入到HDFS(包括hive,hbase中)
一.说明: 将关系型数据库中的数据导入到 HDFS(包括 Hive, HBase) 中,如果导入的是 Hive,那么当 Hive 中没有对应表时,则自动创建. 二.操作 1.创建一张跟mysql中的i ...
- MySQL教程详解之存储引擎介绍及默认引擎设置
什么是存储引擎? 与其他数据库例如Oracle 和SQL Server等数据库中只有一种存储引擎不同的是,MySQL有一个被称为“Pluggable Storage Engine Architectu ...
- 大白话详解大数据HBase核心知识点,老刘真的很用心(2)
前言:老刘目前为明年校招而努力,写文章主要是想用大白话把自己复习的大数据知识点详细解释出来,拒绝资料上的生搬硬套,做到有自己的理解! 01 HBase知识点 第6点:HRegionServer架构 为 ...
- 大白话详解大数据HBase核心知识点,老刘真的很用心(3)
老刘目前为明年校招而努力,写文章主要是想用大白话把自己复习的大数据知识点详细解释出来,拒绝资料上的生搬硬套,做到有自己的理解! 01 HBase知识点(3) 第13点:HBase表的热点问题 什么是热 ...
- Oracle创建表语句(Create table)语法详解及示例、、 C# 调用Oracle 存储过程返回数据集 实例
Oracle创建表语句(Create table)语法详解及示例 2010-06-28 13:59:13| 分类: Oracle PL/SQL|字号 订阅 创建表(Create table)语法详解 ...
- oracle数据库中 impdb/expdb 详解
创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建.create directory dpdata as 'd:\test\dump'; 二.查看管理理员目录(同时查看操 ...
随机推荐
- OSGI企业应用开发(十二)OSGI Web应用开发(一)
前面文章中介绍了如何在OSGI应用中整合Spring和Mybatis框架,本篇文章开始介绍如何使用OSGI技术开发Web应用.对于传统的Java EE应用,应用中涉及到的Web元素无非就是Servle ...
- 【element】改变el-table样式,实现全局滚动,固定表头和表尾
后台管理系统,多半都有表格,数据量大的时候,需要固定表头或者底部. 因为饿了么是局部滚动的,现在我们需要改饿了么某些样式实现全局滚动 饿了么局部滚动 全局滚动demo 删除height=200 固 ...
- 有关正则表达式的Js方法(replace)
整理一下最近常用的几个有关正则的js方法 replace 语法:stringObject.replace(regexp/substr,replacement) 用法1 const str='abc13 ...
- Postman Postman测试接口之JSON结构化数据提交
Postman测试接口之JSON结构化数据提交 by:授客 QQ:1033553122 本文主要是针对结构比较复杂一点的JSON协议数据的提交做个简单说明 举例: 用户下订单接口 接口方向 客户端 ...
- Android 限定符
Android中一些常见的限定符可以参考下表. 使用最小宽度限定符 在上一小节中我们使用large限定符成功解决了单页双页的判断问题,不过很快又有一个新的问题出现了,large到底是指多大呢?有的时候 ...
- 【three.js练习程序】鼠标滚轮缩放
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 关于 Azure Windows VM 的磁盘和 VHD
就像其他任何计算机一样,Azure 中的虚拟机将磁盘用作存储操作系统.应用程序和数据的位置. 所有 Azure 虚拟机都至少有两个磁盘,即 Windows 操作系统磁盘和临时磁盘. 操作系统磁盘基于映 ...
- 试试SQLServer 2014的内存优化表(转载)
SQL Server2014存储引擎:行存储引擎,列存储引擎,内存引擎 SQL Server 2014中的内存引擎(代号为Hekaton)将OLTP提升到了新的高度. 现在,存储引擎已整合进当前的数据 ...
- IE 出现stack overflow 报错的原因归纳
1. 重定义了系统的触发事件名称作为自定义函数名如: onclick / onsubmit ... 都是系统保留的事件名称,不允许作为重定义函数名称: 2. IE缓存满了,无法写入.解决办法:清空 ...
- gitlab配置push -f 关闭
默认路径是/var/opt/gitlab/git-data/repositories/组/库 修改conf 文件 [core] repositoryformatversion = 0 filemode ...