热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Sqoop是什么?Sqoop有什么特点?

前言本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,
前言

本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系


正文

在这里插入图片描述

Sqoop 概述

Sqoop 从工程角度,解决了关系型数据库与 Hadoop 之间的数据传输问题,它构建了两者之间的“桥梁"”,使得数据迁移工作变得异常简单。

在实际项目中,如果遇到以下任务,可尝试使用 Sqoop 完成:

数据迁移

公司内部商用关系型数据仓库中的数据以分析为主,综合考虑扩展性、容错性和成本开销等方面。

若将数据迁移到 Hadoop 大数据平台上,可以方便地使用 Hadoop 提供的如 Hive 、 SparkSQL 分布式系统等工具进行数据分析。

为了一次性将数据导人 Hadoop 存储系统,可使用 Sqoop

可视化分析结果

Hadoop 处理的输入数据规模可能是非常庞大的,比如 PB 级别,但最终产生的分析结果可能不会太大,比如报表数据等,而这类结果通常需要进行可视化,以便更直观地展示分析结果。

目前绝大部分可视化工具与关系型数据库对接得比较好,因此,比较主流的做法是,将 Hadoop 产生的结果导入关系型数据库进行可视化展示。

数据增量导入

考虑到 Hadoop 对事务的支持比较差,因此,凡是涉及事务的应用比如支付平台等,后端的存储均会选择关系型数据库,而事务相关的数据,比如用户支付行为等,可能在 Hadoop 分析过程中用到(比如广告系统,推荐系统等)。

为了减少 Hadoop 分析过程中影响这类系统的性能,我们通常不会直接让 Hadoop 访问这些关系型数据库,而是单独导入一份到 Hadoop 存储系统中。


为了解决上述数据收集过程中遇到的问题, Apache Sqoop 项目诞生了,它是一个性能高、易用、灵活的数据导入导出工具,在关系型数据库与 Hadoop 之间搭建了一个桥梁,如图所示,让关系型数据收集变得异常简单。

在这里插入图片描述

Sqoop 基本思想及特点

Sqoop 采用插拔式 Connector 架构, Connector 是与特定数据源相关的组件,主要负责(从特定数据源中)抽取和加载数据。

用户可选择 Sqoop 自带的 Connector ,或者数据库提供商发布的 native Connector ,甚至根据自己的需要定制 Connector ,从而把 Sqoop 打造成一个公司级别的数据迁移统一管理工具。

Sqoop 主要具备以下特点:

  1. 性能高: Sqoop 采用 MapReduce 完成数据的导入导出,具备了 MapReduce 所具有的优点,包括并发度可控、容错性高、扩展性高等。
  2. 自动类型转换: Sqoop 可读取数据源元信息,自动完成数据类型映射,用户也可根据需要自定义类型映射关系。
  3. 自动传播元信息: Sqoop 在数据发送端和接收端之间传递数据的同时,也会将元信息传递过去,保证接收端和发送端有一致的元信息。

Apache Sqoop 项目已经被 Apache 基金会终止


小企业还是可以使用的,大企业建议使用 DataX 等迁移工具,Sqoop后续已经不维护了

2021年05月06日,Apache Sqoop 的 PMC venkatrangan 给 Sqoop 项目的 dev 邮件列表发送了一篇名为《Seeking inputs on the Apache Sqoop project》的邮件,邮件中提到,Apache Sqoop 最后一次 release 的时间是三年前,最近30个月没有任何新的 PMC 和 committer 加入到这个项目;Apache Sqoop 项目的活跃程度越来越低。所以 venkatrangan 发邮件给社区是想看下社区是否对 Sqoop 有新的 roadmap,否则把 Apache Sqoop 移到 Apache Attic 是比较合适的。

不过几天过去了,看起来好像没有人有新的 roadmap。紧接着,5月14日,venkatrangan 又给社区发了一个投票《VOTE: Move Apache Sqoop to attic》

最后有三个 PMC 投票同意这个决定。

在6月16日举办的 Apache Board Meeting,董事会一致决定:Terminate the Apache Sqoop project(终止 Apache Sqoop 项目)!


推荐阅读
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 如何高效启动大数据应用之旅?
    在前一篇文章中,我探讨了大数据的定义及其与数据挖掘的区别。本文将重点介绍如何高效启动大数据应用项目,涵盖关键步骤和最佳实践,帮助读者快速踏上大数据之旅。 ... [详细]
  • 《Spark核心技术与高级应用》——1.2节Spark的重要扩展
    本节书摘来自华章社区《Spark核心技术与高级应用》一书中的第1章,第1.2节Spark的重要扩展,作者于俊向海代其锋马海平,更多章节内容可以访问云栖社区“华章社区”公众号查看1. ... [详细]
  • JVM上高性能数据格式库包Apache Arrow入门和架构的示例分析
    小编给大家分享一下JVM上高性能数据格式库包ApacheArrow入门和架构的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Apac ... [详细]
  • Catalyst揭秘 Day1 Catalyst本地解析
    Catalyst本地解析今天开始讲下Catalyst,这是我们必须精通的内容之一:基本概念catalyst是一种解析器引擎,而不仅是sql解析引擎。如果研究下catalyst,可以 ... [详细]
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • 我们在之前的文章中已经初步介绍了Cloudera。hadoop基础----hadoop实战(零)-----hadoop的平台版本选择从版本选择这篇文章中我们了解到除了hadoop官方版本外很多 ... [详细]
  • 深入解析Java虚拟机的内存分区与管理机制
    Java虚拟机的内存分区与管理机制复杂且精细。其中,某些内存区域在虚拟机启动时即创建并持续存在,而另一些则随用户线程的生命周期动态创建和销毁。例如,每个线程都拥有一个独立的程序计数器,确保线程切换后能够准确恢复到之前的执行位置。这种设计不仅提高了多线程环境下的执行效率,还增强了系统的稳定性和可靠性。 ... [详细]
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
  • 在使用SSH框架进行项目开发时,经常会遇到一些常见的问题。例如,在Spring配置文件中配置AOP事务声明后,进行单元测试时可能会出现“No Hibernate Session bound to thread”的错误。本文将详细探讨这一问题的原因,并提供有效的解决方案,帮助开发者顺利解决此类问题。 ... [详细]
  • PHP中元素的计量单位是什么? ... [详细]
  • 本课程详细解析了Spring AOP的核心概念及其增强机制,涵盖前置增强、后置增强和环绕增强等类型。通过具体示例,深入探讨了如何在实际开发中有效运用这些增强技术,以提升代码的模块化和可维护性。此外,还介绍了Spring AOP在异常处理和性能监控等场景中的应用,帮助开发者更好地理解和掌握这一强大工具。 ... [详细]
  • 如何提升Python处理约1GB数据集时的运行效率?
    如何提升Python处理约1GB数据集时的运行效率?本文探讨了在后端开发中使用Python处理大规模数据集的优化方法。通过分析常见的性能瓶颈,介绍了多种提高数据处理速度的技术,包括使用高效的数据结构、并行计算、内存管理和代码优化策略。此外,文章还提供了在Ubuntu环境下配置和测试这些优化方案的具体步骤,适用于从事推荐系统等领域的开发者。 ... [详细]
  • MongoDB——聚合操作详解
    聚合(Aggregation)为集合文档数据提供各种处理数据方法,并返回计算结果。MongoDB提供了3种方式来执行聚合命令࿱ ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
author-avatar
广东工业大学普通话_333
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有