介绍

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在使用时的参数。

转载于:https://www.cnblogs.com/xing901022/p/5920891.html

[大数据之Sqoop] —— 什么是Sqoop?相关推荐

  1. BigBrother的大数据之旅Day 15 sqoop

    sqoop part one 1 数据迁移工具 2 通常用于hdfs和关系型数据库之间 3 实质是mapreduce 4 数据的导入导出是从hdfs的角度来说的,谁让sqoop是apache的东西呢 ...

  2. 大数据学习笔记45:Sqoop - 数据迁移工具

    文章目录 一.Sqoop概述 二.下载.安装和配置Sqoop 1.下载sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 2.将sqoop-1.4.7.bin__hadoop-2 ...

  3. cdh mysql sqoop 驱动_大数据技术之Sqoop学习——原理、安装、使用案例、常用命令...

    第1章 Sqoop 简介 Sqoop 是一款开源的工具,主要用于在 Hadoop(Hive) 与传统的数据库 (mysql,postgresql,...) 间进行数据的高校传递,可以将一个关系型数据库 ...

  4. 大数据技术之Sqoop

    第1章 Sqoop简介 Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如: MySQ ...

  5. 大数据技术之 Sqoop

    文章目录 1. Sqoop 简介 2. Sqoop 原理 3. Sqoop 安装 3.1 下载并解压 3.2 修改配置文件 3.3 拷贝JDBC驱动 3.4 验证 Sqoop 3.5 测试 Sqoop ...

  6. 大数据学习笔记:Hadoop生态系统

    文章目录 一.Hadoop是什么 二.Hadoop生态系统图 三.Hadoop生态圈常用组件 (一)Hadoop (二)HDFS (三)MapReduce (四)Hive (五)Hbase (六)Zo ...

  7. 大数据项目之电商数仓(业务数据仓库)

    第1章 电商业务与数据结构简介 1.1 电商业务流程 1.2 电商表结构 电商业务流程 1.2.1 电商常识(SKU.SPU) SKU=Stock Keeping Unit(库存量单位).即库存进出计 ...

  8. 2018 大数据面试

    大数据工程师(开发)面试 1.HBase和Hive都是基于Hadoop,为什么Hive查询起来非常慢,但HBase不是? Hive是类SQL引擎,其查询都需要遍历整张表,跑MapReduce自然很慢, ...

  9. 大数据平台安装部署(适用虚拟机级真实服务器,亲测)

    大数据集群搭建 一.基础环境准备 (虚拟环境or服务器环境) 1. 虚拟环境准备(服务器安装跳过此步骤) 1.1 安装vmware 注意:安装centos8系统及以上需要高版本vmware,实测vmw ...

  10. 大数据教程(13.6)sqoop使用教程

    2019独角兽企业重金招聘Python工程师标准>>> 上一章节,介绍了sqoop数据迁移工具安装以及简单导入实例的相关知识:本篇博客,博主将继续为小伙伴们分享sqoop的使用. 一 ...

最新文章

  1. Serverless——前端的3.0时代
  2. gitee传入公钥以后每次push依然需要输入密码
  3. Linux cd后显示文件,关于linux系统显示文件的问题!
  4. SpringBoot + Shiro 缓存记住密码
  5. matlab中的点乘与不加点的乘
  6. Could not create ServerSocket on address 0.0.0.0/0.0.0.0:9083
  7. 令人疑惑的defaultValueAttribute
  8. BigDecimal 使用浅析
  9. Qt程序运行时报错C:\user\administrator\SogouInput\Components\Error程序异常终止
  10. 软件工程——NS图,PAD图
  11. java 计算正态分布_统计基本概念 期望 方差 均方差 正态分布 Java统计计算
  12. Excel 如何批量查询快递单号
  13. 计算机上的32位是什么意思啊,解答32位是什么意思
  14. 《阿里云服务器教程3》:手机移动端如何远程登录阿里云服务器ECS
  15. 常州大学计算机课程表,常州大学公课表
  16. html向上无间隔滚动文字(图片)
  17. linux防火墙更改端口号,Linux防火墙开放某端口号
  18. 学习记录_美术部分_美术理论基础
  19. 算法开发:将合并后的模型编译成动态库(so文件)提供给qt调用
  20. flexpaper组件中关于隐藏真实的swf 地址下载

热门文章

  1. python数字转换成中文大写_python中如何将货币数字转化成汉字大写金额
  2. zookeeper中的ZAB协议理解
  3. 蓝桥杯试题开灯游戏c语言,[蓝桥杯][算法提高VIP]开灯游戏 (C++代码)
  4. Java课设对对碰_java实现对对碰小游戏
  5. 地面控制点的定义与作用_彩色透水混凝土路面在海绵城市建设中能起多大作用?...
  6. 不再支持Postman集合v1格式,无法直接导入
  7. 设计模式之——观察者模式
  8. java解释器是哪个命令_宽恕命令解释器的最佳Java库(IES)
  9. 6. 同步化器(Synchronizers)
  10. 电子相册系统(二)业务层设计