[大数据之Sqoop] —— 什么是Sqoop?
介绍
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?相关推荐
- BigBrother的大数据之旅Day 15 sqoop
sqoop part one 1 数据迁移工具 2 通常用于hdfs和关系型数据库之间 3 实质是mapreduce 4 数据的导入导出是从hdfs的角度来说的,谁让sqoop是apache的东西呢 ...
- 大数据学习笔记45:Sqoop - 数据迁移工具
文章目录 一.Sqoop概述 二.下载.安装和配置Sqoop 1.下载sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 2.将sqoop-1.4.7.bin__hadoop-2 ...
- cdh mysql sqoop 驱动_大数据技术之Sqoop学习——原理、安装、使用案例、常用命令...
第1章 Sqoop 简介 Sqoop 是一款开源的工具,主要用于在 Hadoop(Hive) 与传统的数据库 (mysql,postgresql,...) 间进行数据的高校传递,可以将一个关系型数据库 ...
- 大数据技术之Sqoop
第1章 Sqoop简介 Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如: MySQ ...
- 大数据技术之 Sqoop
文章目录 1. Sqoop 简介 2. Sqoop 原理 3. Sqoop 安装 3.1 下载并解压 3.2 修改配置文件 3.3 拷贝JDBC驱动 3.4 验证 Sqoop 3.5 测试 Sqoop ...
- 大数据学习笔记:Hadoop生态系统
文章目录 一.Hadoop是什么 二.Hadoop生态系统图 三.Hadoop生态圈常用组件 (一)Hadoop (二)HDFS (三)MapReduce (四)Hive (五)Hbase (六)Zo ...
- 大数据项目之电商数仓(业务数据仓库)
第1章 电商业务与数据结构简介 1.1 电商业务流程 1.2 电商表结构 电商业务流程 1.2.1 电商常识(SKU.SPU) SKU=Stock Keeping Unit(库存量单位).即库存进出计 ...
- 2018 大数据面试
大数据工程师(开发)面试 1.HBase和Hive都是基于Hadoop,为什么Hive查询起来非常慢,但HBase不是? Hive是类SQL引擎,其查询都需要遍历整张表,跑MapReduce自然很慢, ...
- 大数据平台安装部署(适用虚拟机级真实服务器,亲测)
大数据集群搭建 一.基础环境准备 (虚拟环境or服务器环境) 1. 虚拟环境准备(服务器安装跳过此步骤) 1.1 安装vmware 注意:安装centos8系统及以上需要高版本vmware,实测vmw ...
- 大数据教程(13.6)sqoop使用教程
2019独角兽企业重金招聘Python工程师标准>>> 上一章节,介绍了sqoop数据迁移工具安装以及简单导入实例的相关知识:本篇博客,博主将继续为小伙伴们分享sqoop的使用. 一 ...
最新文章
- Serverless——前端的3.0时代
- gitee传入公钥以后每次push依然需要输入密码
- Linux cd后显示文件,关于linux系统显示文件的问题!
- SpringBoot + Shiro 缓存记住密码
- matlab中的点乘与不加点的乘
- Could not create ServerSocket on address 0.0.0.0/0.0.0.0:9083
- 令人疑惑的defaultValueAttribute
- BigDecimal 使用浅析
- Qt程序运行时报错C:\user\administrator\SogouInput\Components\Error程序异常终止
- 软件工程——NS图,PAD图
- java 计算正态分布_统计基本概念 期望 方差 均方差 正态分布 Java统计计算
- Excel 如何批量查询快递单号
- 计算机上的32位是什么意思啊,解答32位是什么意思
- 《阿里云服务器教程3》:手机移动端如何远程登录阿里云服务器ECS
- 常州大学计算机课程表,常州大学公课表
- html向上无间隔滚动文字(图片)
- linux防火墙更改端口号,Linux防火墙开放某端口号
- 学习记录_美术部分_美术理论基础
- 算法开发:将合并后的模型编译成动态库(so文件)提供给qt调用
- flexpaper组件中关于隐藏真实的swf 地址下载
热门文章
- python数字转换成中文大写_python中如何将货币数字转化成汉字大写金额
- zookeeper中的ZAB协议理解
- 蓝桥杯试题开灯游戏c语言,[蓝桥杯][算法提高VIP]开灯游戏 (C++代码)
- Java课设对对碰_java实现对对碰小游戏
- 地面控制点的定义与作用_彩色透水混凝土路面在海绵城市建设中能起多大作用?...
- 不再支持Postman集合v1格式,无法直接导入
- 设计模式之——观察者模式
- java解释器是哪个命令_宽恕命令解释器的最佳Java库(IES)
- 6. 同步化器(Synchronizers)
- 电子相册系统(二)业务层设计