欢迎光临散文网 会员登陆 & 注册

数据搬运组件:基于Sqoop管理数据导入和导出

2021-05-11 10:47 作者:爱数据分析社区  | 我要投稿

知了一笑

01

Sqoop概述

Sqoop是一款开源的大数据组件,主要用来在Hadoop(Hive、HBase等)与传统的数据库(mysql、postgresql、oracle等)间进行数据的传递。

通常数据搬运的组件基本功能:导入与导出。鉴于Sqoop是大数据技术体系的组件,所以关系型数据库导入Hadoop存储系统称为导入,反过来称为导出。Sqoop是一个命令行的组件工具,将导入或导出命令转换成mapreduce程序来实现。mapreduce中主要是对inputformat和outputformat进行定制。


02

环境部署

在测试Sqoop组件的时候,起码要具备Hadoop系列、关系型数据、JDK等基础环境。鉴于Sqoop是工具类组件,单节点安装即可

1、上传安装包

安装包和版本:sqoop-1.4.6



2、修改配置文件

文件位置:sqoop1.4.6/conf


配置内容:涉及hadoop系列常用组件和调度组件zookeeper。[root@hop01 conf]# vim sqoop-env.sh
# 配置内容


3、配置环境变量


4、引入MySQL驱动


5、环境检查


关键点:import与export查看帮助命令,并通过version查看版本号。sqoop是一个基于命令行操作的工具,所以这里的命令下面还要使用。

6、相关环境

此时看下sqoop部署节点中的相关环境,基本都是集群模式:

7、测试MySQL连接

这里是查看MySQL数据库的命令,如图结果打印正确:



03

数据导入案例

1、MySQL数据脚本

2、Sqoop导入脚本

指定数据库的表,全量导入Hadoop系统,注意这里要启动Hadoop服务;

3、Hadoop查询

4、指定列和条件

查询的SQL语句中必须带有WHERE\$CONDITIONS:

查看导出结果:

5、导入Hive组件

在不指定hive使用的数据库情况下,默认导入default库,并且自动创建表名称:

执行过程,这里注意观察sqoop的执行日志即可:

第一步:MySQL的数据导入到HDFS的默认路径下;

第二步:把临时目录中的数据迁移到hive表中;

6、导入HBase组件

当前hbase的集群版本是1.3,需要先创建好表,才能正常执行数据导入:


04

数据导出案例

新建一个MySQL数据库和表,然后把HDFS中的数据导出到MySQL中,这里就使用第一个导入脚本生成的数据即可:

再次查看MySQL中数据,记录完全被导出来,这里,是每个数据字段间的分隔符号,语法规则对照脚本一HDFS数据查询结果即可。


05

源代码地址


关注我即刻了解更多数据分析知识

更多数据分析内容

扫描码即可了解

 


数据搬运组件:基于Sqoop管理数据导入和导出的评论 (共 条)

分享到微博请遵守国家法律