[大数据之Sqoop] —— 什么是Sqoop?

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云原生数据库 PolarDB PostgreSQL 版,企业版 4核16GB
推荐场景:
HTAP混合负载
简介:

介绍

449064-20160929183228375-1475688511.png

sqoop是一款用于hadoop和关系型数据库之间数据导入导出的工具。你可以通过sqoop把数据从数据库(比如mysql,oracle)导入到hdfs中;也可以把数据从hdfs中导出到关系型数据库中。sqoop通过Hadoop的MapReduce导入导出,因此提供了很高的并行性能以及良好的容错性。

sqoop适合以下的人群使用:

  • 系统和应用开发者
  • 系统管理员
  • 数据库管理员
  • 数据分析师
  • 数据工程师

支持的版本

本文档是依据sqoop v1.4.6翻译的.目前最新的版本是sqoop2,变化有点大。

sqoop的版本

sqoop是Apache软件基金会提供的开源框架。官方网站参考:http://sqoop.apache.org

前提条件

想要使用这款工具需要有一下的背景:

  • 基本的计算机知识
  • 对类似bash的命令行比较熟悉(因为sqoop基本都是通过命令行来操作的)
  • 熟悉关系型数据库系统的管理(毕竟是从数据库到出)
  • 熟悉hadoop基本操作(了解基本的hdfs操作和mapreduce的原理会更容易理解sqoop的过程)

在你使用sqoop之前,需要先安装hadoop。这个文档是基于Linux环境的,如果你是在windows下使用,需要安装cygwin。

基本的使用

通过sqoop,你可以从关系型数据库中导出数据,导入到hdfs中。输入可能是数据库的一张表或者查询结果;输出则是数据库表或者结果的导出文件集合。导入进程是并行的,因此输出的结果可能是多个文件(最终在hdfs中可能会得到多个文件)。这些文件可能是标准的文本文件TextFile(比如,使用逗号做字段间的分割),也可能是Avro或者SequeenceFiles的记录文件。

sqoop的导入进程是一个自动生成出来的java class,因此它的很多组件都可以自定义,比如导入的格式、文本的格式、到出的格式等等。

sqoop还提供了很多的工具来检查数据库.

比如通过sqoop-list-databases可以列出数据库的表视图。

[root@hadoop-master bin]# sqoop-list-databases --connect 'jdbc:mysql://localhost:3306/dbname' --username 'name' --password 'passwd'
16/09/29 18:29:11 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6
16/09/29 18:29:11 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
16/09/29 18:29:11 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
test
dev
xingoo

通过sqoop-list-tables查看表

[root@hadoop-master bin]# sqoop-list-tables --connect 'jdbc:mysql://localhost:3306/dbname' --username 'name' --password 'passwd'
16/09/29 18:26:50 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6
16/09/29 18:26:50 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
16/09/29 18:26:51 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
a
b
c
d

大多数导入进程,代码生成,导出进程都可以自定义。对于数据库,你可以控制到特定的行或者列,读取哪些行,读取哪些列。对于输出的hdfs文件,可以指定特定的分隔符以及转义字符,以及文本的格式化。甚至可以控制生成代码的类和包的名字。

总结的来说,sqoop是基于mapreduce的一款db和hadoop之间的数据交换工具。后续的文档,将会介绍sqoop在使用时的参数。

本文转自博客园xingoo的博客,原文链接:[大数据之Sqoop] —— 什么是Sqoop?,如需转载请自行联系原博主。
相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
1月前
|
SQL 关系型数据库 MySQL
基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化)
基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化)
|
9月前
|
分布式计算 运维 大数据
盘点下近几年退役的顶级 Apache 大数据项目 - 继 Sentry,Sqoop 之后,Ambari 正式退役!
盘点下近几年退役的顶级 Apache 大数据项目 - 继 Sentry,Sqoop 之后,Ambari 正式退役!
|
9月前
|
存储 分布式计算 关系型数据库
大数据组件Sqoop-安装与验证
大数据组件Sqoop-安装与验证
95 0
|
10月前
|
关系型数据库 MySQL 大数据
大数据Sqoop将mysql直接抽取至Hbase
大数据Sqoop将mysql直接抽取至Hbase
108 0
|
10月前
|
关系型数据库 MySQL 大数据
大数据Sqoop搭建
大数据Sqoop搭建
110 0
|
10月前
|
SQL 分布式计算 分布式数据库
大数据Sqoop借助Hive将Mysql数据导入至Hbase
大数据Sqoop借助Hive将Mysql数据导入至Hbase
196 0
|
10月前
|
分布式计算 关系型数据库 MySQL
大数据Sqoop快速入门 2
大数据Sqoop快速入门
67 0
|
2月前
|
SQL 关系型数据库 MySQL
Sqoop【付诸实践 01】Sqoop1最新版 MySQL与HDFS\Hive\HBase 核心导入导出案例分享+多个WRAN及Exception问题处理(一篇即可学会在日常工作中使用Sqoop)
【2月更文挑战第9天】Sqoop【付诸实践 01】Sqoop1最新版 MySQL与HDFS\Hive\HBase 核心导入导出案例分享+多个WRAN及Exception问题处理(一篇即可学会在日常工作中使用Sqoop)
153 7
|
2月前
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
168 1
|
2月前
|
缓存 关系型数据库 MySQL
Centos7 mysql和sqoop数据迁移
Centos7 mysql和sqoop数据迁移

热门文章

最新文章