博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ETL工具Sqoop的入门学习(一)
阅读量:3959 次
发布时间:2019-05-24

本文共 1736 字,大约阅读时间需要 5 分钟。

ETL工具Sqoop的入门学习(一)目录

1.Sqoop的定义

Sqoop是一款开源的ETL工具,其主要用户将Hadoop与关系型数据库之间的数据传递。可以将关系型数据库中的数据传递到Hadoop的Hdfs,hive,hbase上,同时也能将Hadoop上的数据抽取到各种类型的关系型数据库中。

2.Sqoop的产生背景简介

由于很多的企业数据大多是存在关系型数据库中的,当这些企业要使用大数据技术对这些数据进行分析提高数据的价值,从而产生更大的利益,此时要将关系型数据库中的数据抽取到大数据环境中进行处理分析问题,产生了数据如何安全快速抽取的问题。Sqoop的发展解决了关系型数据库数据抽取到大数据环境(Hadoop)中的问题。

3.Sqoop原理

简单的来说,Sqoop将导入或导出的命令翻译成Mapreduce的程序来执行的任务。

1,将命令翻译成MapReduce程序
2,将MapReduce程序编译成jar
3,提交任务执行jar

4.几个Sqoop常用的命令使用

4.1 环境的介绍

Sqoop使用的版本是1.4.7的,运行环境在centOS7搭建的Hadoop环境下。

Sqoop1.4.7安装包官网下载:
这里我使用Sqoop将本地Windows下安装的MySQL数据库中的表抽取到Hadoop的分布式文件系统,同时将hdfs上的数据抽取到MySQL数据库。

4.2 常用命令的使用list-databases,list-tables,import,export

序号 命令 说明
1 list-databases 列出所连接的所有数据库名
2 list-tables 列出某个数据库下的所有表
3 import 将数据导入数据到集群
4 export 将集群中数据导出

1,list-databases

sqoop list-databases --connect jdbc:mysql://IP:3306 --username root --password 123456

需要注意的是IP是本地电脑的IP,同时将本地MySQL服务开启。

在这里插入图片描述
2,list-tables

sqoop list-tables --connect jdbc:mysql://IP:3306/study --username root --password 1234567

这里需要注意指定连接的数据库才能找到它下面的所有表

在这里插入图片描述
3,import
将本地MySQL Study数据库中User_info表上传到指定的分布式文件系统的目录,需要注意执行命令要开启分布式文件系统。

sqoop import --connect jdbc:mysql://IP:3306/study --username root --password 1234567 --table user_info --target-dir /sqoop-test

–table指定表

–target-dir 指定上传到hdfs的目录下
这是我们本地MySQL Study数据库中User_info表信息
在这里插入图片描述
任务执行成功
在这里插入图片描述
查看上传到hdfs上的数据,和我们上传的一样,4条数据都上传成功
在这里插入图片描述
4,export
将hdfs上指定的文件抽取到MySQL数据库中,需要注意之前要在数据库中创建好一张表来存储导入的数据,这里我创建了user_info_01表来演示。

sqoop export --connect jdbc:mysql://IP:3306/study --username root --password 1234567 --table user_info_01 --export-dir /sqoop-test

–table MySQL数据库中的表,执行命令之前要创建好

–export-dir 指定分布式文件系统目录下的数据抽取到MySQL数据库
在没抽取数据到user_info_01时,表结构以及存在一条数据信息如图。
在这里插入图片描述
执行任务成功
在这里插入图片描述
导入数据到MySQL数据库表中完成,刷新user_info_01表查看哈我们的数据,OK是没问题的,数据都追加到我们的表中的。
在这里插入图片描述
都看到这儿了,点赞再走呗🤞🤞🤞🤞

转载地址:http://jeqzi.baihongyu.com/

你可能感兴趣的文章
软件配置管理概念-1,介绍
查看>>
软件配置管理概念-2,用户角色
查看>>
软件配置管理概念-3,CM系统的概念
查看>>
JSP/Servlet应用程序优化八法
查看>>
人生必修的181条佛理
查看>>
The Most Widely Used Java Libraries
查看>>
简单在单机使用apache-james(开源邮件服务器)
查看>>
lsof 快速起步
查看>>
使用ScribeFire方便地发布blog
查看>>
跨平台Java程序注意事项
查看>>
Python字符与数字的相互转换
查看>>
C 指针解读
查看>>
有关乱码的处理---中国程序员永远无法避免的话题
查看>>
JSP的运行内幕
查看>>
python超简单的web服务器
查看>>
代理模式、静态代理、动态代理、aop
查看>>
Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.00
查看>>
大型Web2.0站点构建技术初探
查看>>
机器学习算法汇总:人工神经网络、深度学习及其它
查看>>
解决Spring中AOP不能切入Struts的DispatchAction方法的问题
查看>>