开发者社区> 程序员对白> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

详解大数据采集引擎之Sqoop&采集oracle数据库中的数据

简介: 详解大数据采集引擎之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,清华大学硕士研究生,研究方向:大数据和人工智能。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Oracle 11gR2 中使用expdp导出数据
一:导出前期准备: 1.创建目录对象: CREATE DIRECTORY dump_dir AS ‘c:\dump’; 2.在操作系统上创建相应的目录。
1013 0
《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一导读
简单地说,我们在调整SQL语句性能时,需要灵活地使用SQL调优技术,使得SQL语句在优化阶段能够获得真正最佳性能的执行计划。图0-1描述了SQL优化与SQL调优在改进性能过程中所处的位置以及相互作用的方式。
1718 0
PLSQL创建oracle数据库用户
工具/原料  PLSQL 方法1 1 双击运行PLSQL Developer软件,连接oracle数据库服务器 2  在“对象”下,找到users,右击选择“新建” 3  在弹出的“创建用户
2828 0
Oracle其它数据库对象
SQL> --视图: 由一个或者多个表组成的逻辑表 SQL> -创建一个视图,包含了10,20的员工信息 SP2-0734: 未知的命令开头 "-创建一个..." - 忽略了剩余的行。 SQL> --创建一个视图,包含了10,20的员工信息 SQL> create or replace emp1020(empno,ename,sal,deptno)   2
1624 0
+关注
程序员对白
微信公众号:对白的算法屋,分享AI前沿算法和技术干货,回复「对白笔记」,即可领取我的原创算法笔记和工作心得。
188
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载