设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 2113|回复: 0
收起左侧

[其他] Sqoop全分布式搭建

[复制链接]
发表于 2022-12-20 09:52:53 | 显示全部楼层 |阅读模式
本帖最后由 泰克教育 于 2022-12-20 09:54 编辑



一、Sqoop简介

Sqoop全称是 Apache Sqoop,是一个开源工具,能够将数据从关系型数据库中或者文件存储服务器(数据仓库,系统文档存储空间,关系型数据库)导入 Hadoop 的 HDFS或分布式数据库HBase,供MapReduce分析数据使用。数据传输的过程大部分是通过MapReduce过程来实现,只需要依赖数据库的Schema信息。Sqoop所执行的操作是并行的,数据传输性能高,具备较好的容错性,并且能够自动转换数据类型。

二、Sqoop架构

Sqoop架构主要有三部分组成:Sqoop客户端,数据存储与挖掘、数据存储空间。其中数据存储与挖掘主要为HDFS、Hbase、Hive等工具。

从上图中可以知道Sqoop的功能架构之间的关系:
1、Sqoop通过Hadoop中的Map任务将数据从数据存储空间中导入HDFS供数据分析使用
2、Sqoop只负责数据传输,不负责数据分析,只涉及Map任务,不涉及Reduce任务。
3、Sqoop本质是运行一个mapreduce程序,所以要运行sqoop,先启动Hadoop。

三、Sqoop导入导出数据
Sqoop导入数据流程如图:
1.png


1、Sqoop通过JDBC的接口读取元数据信息。
2、Sqoop获取元数据信息,并生成以一个与表名相同的容器类。
3、Sqoop生成的容器类完成数据的序列化和反序列化,保存表的每一行数据。
4、Sqoop生成的记录容器类向Hadoop的Map作业提供序列化和反序列化的功能,然后sqoop启动Map作业。
5、在Sqoop启动Map作业过程中,Map利用Sqoop生成的记录容器类提供的反序列化功能,通过JDBC读取数据库中的内容。
6、Map作业将读取的数据写入HDFS,此时Sqoop生成的记录容器类提供序列化功能。

Sqoop导出数据流程图:
2.png


Sqoop数据导出过程:将通过MapReduce或Hive分析后得出的数据结果导出到关系型数据库,供其他业务查看或生成报表使用。Sqoop export 是将一组文件从HDFS导出回RDBMS的工具。前提条件是,在数据库中,目标表必须已经存在,根据用户指定的分隔符将输入文件读取并解析为一组记录。

3.png
四、Sqoop安装部署
第一步:在/usr/local/下创建文件sqoop,并修改权限 chmod 777 sqoop
第二步:打开文件传输工具,将下载的sqoop上传到创建的sqoop文件中
第三步:解压文件 tar -xvf sqoop-1.4.5-cdh5.3.6.tar.gz
第四步:cd到conf目录下,复制sqoop-env-template.sh并命名为sqoop-env.sh mv sqoop-env-template.sh sqoop-env.sh
第五步:编辑sqoop-env.sh

增加以下四项内容:

1、export HADOOP_COMMON_HOME=/usr/local/hadoop/hadoop-2.6.0-cdh5.7.0
2、export HADOOP_MAPRED_HOME=/usr/local/hadoop/hadoop-2.6.0-cdh5.7.0
3、export HBASE_HOME=/usr/local/hbase/hbase-1.2.0-cdh5.7.0
4、export HIVE_HOME=/usr/local/hive/hive-0.13.1-cdh5.3.6

注意:需要将mysql的驱动jar包导入到sqoop根目录下的lib文件夹里面

第六步:分发给其他节点 scp -r /usr/local/sqoop/ slave1:/usr/local/  (发完后将1修改为2、3)

第七步:进入sqoop的bin目录案列:获取MySQL中的数据库sqoop-list-databases --connect jdbc:mysql://192.168.100.110:3306 --username root --password 123获取MySQL中数据表sqoop-list-tables --connect jdbc:mysql://192.168.100.110:3306/hive --username root --password 123如果以上操作能够把MySQL中的数据库和数据表显示出来,证明Sqoop环境部署成功!

全国咨询电话:029-88825053
泰克官方微信:taikejiaoyu


您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-5-3 09:49 , Processed in 0.084487 second(s), 9 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表