http://baike.baidu.com/link?url=ZsVR3-tONSmftst_0lJnKWu2c_JjePSEY8Egzu-fVky2AFaXwMeFXiVpT-wOE68n4vRd_hqb0EhD3V546ntYfa
[1] Sqoop(发音:skup)是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。
1特征编辑
Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
对于某些NoSQL数据库它也提供了连接器。Sqoop,类似于其他ETL工具,使用元数据模型来判断数据类型并在数据从数据源转移到Hadoop时确保类型安全的数据处理。Sqoop专为大数据批量传输设计,能够分割数据集并创建Hadoop任务来处理每个区块。
2示例编辑
(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
3注意事项编辑
尽管有以上的优点,在使用Sqoop的时候还有一些事情需要注意。首先,对于默认的并行机制要小心。默认情况下的并行意味着Sqoop假设大数据是在分区键范围内均匀分布的。这在当你的源系统是使用一个序列号发生器来生成主键的时候工作得很好。打个比方,当你有一个10个节点的集群,那么工作负载是在这10台服务器上平均分配的。但是,如果你的分割键是基于字母数字的,拥有比如以“A”作为开头的键值的数量会是“M”作为开头键值数量的20倍,那么工作负载就会变成从一台服务器倾斜到另一台服务器上。
如果你最担心是性能,那么可以研究下直接加载。直接加载绕过通常的Java数据库连接导入,使用数据库本身提供的直接载入工具,比如MySQL的mysqldump。但是有特定数据库的限制。比如,你不能使用MySQL或者PostgreSQL的连接器来导入BLOB和CLOB类型。也没有驱动支持从视图的导入。Oracle直接驱动需要特权来读取类似dba_objects和v_$parameter这样的元数据。请查阅你的数据库直连驱动程序局限性的相关文档。
进行增量导入是与效率有关的最受关注的问题,因为Sqoop专门是为大数据集设计的。Sqoop支持增量更新,将新记录添加到最近一次的导出的数据源上,或者指定上次修改的时间戳。
由于Sqoop将数据移入和移出关系型数据库的能力,其对于Hive—Hadoop生态系统里的著名的类SQL数据仓库—有专门的支持不足为奇。命令“create-hive-table”可以用来将数据表定义导入到Hive。
相关推荐
Sqoop简介与安装.md
Sqoop是Apache Hadoop生态体系中的一个开源工具,主要用于在关系型数据库(如MySQL、Oracle等)和Hadoop Distributed File System(HDFS)之间高效地迁移数据。它为大数据处理提供了一种便捷的数据导入和导出机制,...
2.1 下载并解压 2.2 配置环境变量 2.3 修改配置 2.4 拷贝数据库驱动 2.5 验证 2.1 下载并解压 2.2 配置环境变量 2.3 修改配置 2
### Sqoop 简介 Sqoop 是一款用于批量迁移结构化数据到 Hadoop 生态系统中的工具,它使得 SQL 数据库与 Hadoop 之间的数据交换变得简单。通过使用 MapReduce,Sqoop 可以并行处理大量数据,从而实现快速的数据导入...
#### 一、Sqoop简介 Apache Sqoop 是一个工具,用于高效地在结构化、半结构化和非结构化数据源之间传输数据。例如,关系型数据库是具有明确数据模式的结构化数据源的示例;Cassandra 和 HBase 是半结构化数据源的...
Sqoop简介** Sqoop自2009年起作为一个Hadoop的第三方模块发展,后来成为Apache项目独立存在。它提供了一个命令行界面,用户可以通过简单的指令完成数据的导入导出。需要注意的是,Sqoop2并不与Sqoop1兼容,且功能不...
#### Sqoop简介 Sqoop(SQL to Hadoop)是一款开源工具,用于在Hadoop和关系型数据库之间高效地传输大型数据集。它利用MapReduce来并行加载和提取数据,从而显著提高性能。本文将详细介绍如何在Hadoop2.6伪分布环境...
一、Sqoop 简介 Sqoop 是一个用来在 Hadoop 和结构化数据存储(如 RDBMS)之间转移数据的工具。它提供了从关系数据库导入数据到 HDFS,以及从 HDFS 导出数据到关系数据库的功能。Sqoop 支持多种数据库,包括 MySQL、...
1. **Sqoop 简介** Sqoop 是一个用于导入和导出大规模数据的工具,它填补了传统数据库管理系统(RDBMS)与 Hadoop 分布式文件系统(HDFS)之间的空白。通过提供高效、可靠的批量数据传输,Sqoop 允许用户将结构化...
#### 一、Sqoop简介 Sqoop是一款开源工具,主要用于在Hadoop和关系型数据库之间高效地传输大量数据。它利用MapReduce作业来提取、转换和加载(ETL)数据。通过Sqoop,用户可以从关系型数据库(如MySQL、Oracle等)...
【Sqoop简介】 Sqoop是一款专门设计用于在Hadoop和传统关系型数据库之间进行数据迁移的开源工具。它能够方便地将数据导入Hadoop的HDFS(Hadoop Distributed File System)系统,同时也能将HDFS中的数据导出到关系型...
一、 Sqoop简介 Sqoop是一个命令行接口工具,允许用户将结构化的数据从传统的关系型数据库管理系统(RDBMS)如MySQL、Oracle等导入到Hadoop的HDFS,同时也可以将数据从HDFS导回RDBMS。它通过MapReduce作业实现了并行...
【Sqoop简介】 Sqoop是一款专为大数据处理设计的工具,它主要功能是实现关系型数据库(如MySQL、Oracle)与Hadoop之间的批量数据迁移。作为RDBMS与Hadoop之间的桥梁,Sqoop提供了数据导入和导出的能力,允许用户将...
【Sqoop简介】 Sqoop是一款专门设计用于在Apache Hadoop和传统的关系型数据库管理系统(RDBMS)之间进行数据传输的工具。它最初是Hadoop生态系统的一部分,随着时间的推移,由于其独立性和便利性,发展成为Apache软件...
#### 一、Sqoop简介 Sqoop是一款开源工具,主要用于在Hadoop和关系型数据库之间高效地传输数据。它支持多种关系型数据库,如MySQL、Oracle等,并且能够利用MapReduce作业来处理大规模数据的导入导出任务。通过这种...
#### 一、Apache Sqoop简介 Apache Sqoop是一款开源工具,主要用于在Hadoop和关系型数据库之间高效地传输大型数据集。它通过提供一系列命令行接口来简化数据导入导出的过程,使得用户能够更加轻松地进行数据迁移工作...
#### 一、Sqoop简介与安装 **Apache Sqoop** 是一个开源工具,用于高效地在 **Hadoop** 和结构化数据存储(如关系数据库)之间进行大规模数据迁移。通过利用 **MapReduce** 的并行处理能力,Sqoop 能够快速地批量...