第10章 Sqoop-【千锋教育】Hadoop大数据开发实战(慕课版)
2023-03-21
|
59页
|
89人阅读
|
0人下载
教辅
内容正文:
第10章 Sqoop
认识Sqoop
Sqoop安装
Sqoop命令
Sqoop数据导入
Sqoop数据导出
Sqoop job
认识Sqoop
Sqoop安装
Sqoop命令
Sqoop数据导入
Sqoop数据导出
Sqoop job
01
02
04
05
03
06
目 录
CATALOUGUE
初心至善 匠心育人
了解Sqoop的原理及其安装
掌握Sqoop的job命令的用法
熟悉Sqoop的架构
掌握Sqoop的import和export命令的用法
学 习 目 标
LEARNING OBJECTIVES
初心至善 匠心育人
10.1
认识Sqoop
10.1.1
Sqoop简介
10.1.2
Sqoop原理
10.1.3
Sqoop架构
初心至善 匠心育人
10.1 认识Sqoop
10.1.1 Sqoop简介
Sqoop是一种用于在 Hadoop和结构化数据系统(如关系数据库、大型机)之间高效传输数据的工具。Sqoop项目开始于2009年。它的出现主要是为了满足以下两种需求。
(1)企业的业务数据大多存放在关系数据库(如MySQL、Oracle)中,数据量达到一定规模后,如果需要对其进行统计和分析,直接使用关系数据库处理数据的效率较低,这时可以通过Sqoop将数据从关系型数据库导入Hadoop的HDFS(或HBase、Hive)进行离线分析。
(2)用Hadoop处理后的数据,往往需要同步到关系数据库中作为业务辅助数据,这时可以通过Sqoop将Hadoop中的数据导出到关系数据库。
初心至善 匠心育人
10.1 认识Sqoop
10.1.1 Sqoop简介
Sqoop担负了将数据导入和导出Hadoop的任务。Sqoop的核心设计思想是利用MapReduce提高数据传输速度。Sqoop 的导入和导出功能就是通过 MapReduce 作业来实现的。
目前Sqoop主要有两个系列:Sqoop1和Sqoop2。Sqoop1最新的稳定版本是1.4.7,Sqoop2的最新版本是1.99.7。1.99.7版本功能不完整,并且与1.4.7版本不兼容,不适用于生产部署。目前大多数企业主要使用的还是Sqoop1,因此本书选用1.4.7版本进行讲解。
初心至善 匠心育人
10.1 认识Sqoop
10.1.2 Sqoop原理
Sqoop的原理其实就是将导入导出命令转化为MapReduce程序来执行,Sqoop在接收到命令后,都要生成MapReduce程序。
使用Sqoop的代码生成工具可以方便地查看到Sqoop生成的Java代码,并可在此基础之上进行深入定制开发。
初心至善 匠心育人
10.1 认识Sqoop
10.1.3 Sqoop架构
Sqoop的常用架构如图所示。
通过Sqoop架构图可以简单地了解Sqoop的运行流程。以从关系型数据库导入数据为例,Sqoop大致的运行流程是:读取将要导入数据的表结构;生成运行类(默认是QueryResult);打成jar包;提交给Hadoop;设置MapReduce的各种参数;由Hadoop来执行MapReduce作业。
初心至善 匠心育人
10.2 Sqoop安装
Sqoop的安装包见附录。注意:Sqoop的1.4.7版本底层适配的是Hadoop2.6.0版本,本书使用的是Hadoop2.7.3版本。虽然使用的Hadoop版本不同,但是Hadoop的2.7.3版本兼容2.6.0版本。Sqoop的安装步骤如下。
(1)启动Zookeeper集群、Hadoop集群、MySQL。
提示:当出现Enter password:时输入root,按下回车键。
初心至善 匠心育人
10.2 Sqoop安装
(2)将Sqoop安装包sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz放到虚拟机qf01的/root/apps/目录下。在虚拟机qf01上,重新打开一个终端,解压Sqoop安装包到/mysoft目录下。
(3)切换到/mysoft目录下,将sqoop-1.4.7.bin__hadoop-2.6.0重命名为sqoop。
(4)打开/etc/profile文件,配置Sqoop环境变量。
初心至善 匠心育人
10.2 Sqoop安装
在文件末尾添加如下三行内容。
(5)使环境变量生效。
(6)将/root/apps目录下的MySQL的驱动文件mysql-connector-java-5.1.41.jar(见附件A)复制到虚拟机qf01的/mysoft/sqoop/lib目录下。
初心至善 匠心育人
10.2 Sqoop安装
(7)修改Sqoop的配置文件。
① 切换到/mysoft/sqoop/conf目录下,将文件sqoop-env-template.sh
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。