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


相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
12月前
|
机器学习/深度学习 传感器 分布式计算
数据才是真救命的:聊聊如何用大数据提升灾难预警的精准度
数据才是真救命的:聊聊如何用大数据提升灾难预警的精准度
715 14
|
12月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1773 152
|
12月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
1198 156
|
机器学习/深度学习 运维 监控
运维不怕事多,就怕没数据——用大数据喂饱你的运维策略
运维不怕事多,就怕没数据——用大数据喂饱你的运维策略
1159 0
|
12月前
|
传感器 人工智能 监控
数据下田,庄稼不“瞎种”——聊聊大数据如何帮农业提效
数据下田,庄稼不“瞎种”——聊聊大数据如何帮农业提效
358 14
|
12月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
12月前
|
机器学习/深度学习 传感器 监控
吃得安心靠数据?聊聊用大数据盯紧咱们的餐桌安全
吃得安心靠数据?聊聊用大数据盯紧咱们的餐桌安全
369 1
|
机器学习/深度学习 监控 大数据
数据当“安全带”:金融市场如何用大数据玩转风险控制?
数据当“安全带”:金融市场如何用大数据玩转风险控制?
693 10
|
12月前
|
数据采集 自动驾驶 机器人
数据喂得好,机器人才能学得快:大数据对智能机器人训练的真正影响
数据喂得好,机器人才能学得快:大数据对智能机器人训练的真正影响
1125 1
|
11月前
|
传感器 人工智能 监控
拔俗多模态跨尺度大数据AI分析平台:让复杂数据“开口说话”的智能引擎
在数字化时代,多模态跨尺度大数据AI分析平台应运而生,打破数据孤岛,融合图像、文本、视频等多源信息,贯通微观与宏观尺度,实现智能诊断、预测与决策,广泛应用于医疗、制造、金融等领域,推动AI从“看懂”到“会思考”的跃迁。
826 0

热门文章

最新文章

推荐镜像

更多