Hadoop 与数据湖

Posted

技术标签:

【中文标题】Hadoop 与数据湖【英文标题】:Hadoop Vs Data Lake 【发布时间】:2016-03-14 12:24:50 【问题描述】:

我听说了一个新术语数据湖。我用谷歌搜索并得到了那个

数据湖是一个大型存储库和处理引擎。数据湖为“任何类型的数据提供海量存储、强大的处理能力以及处理几乎无限的并发任务或作业的能力”

术语数据湖通常与面向 Hadoop 的对象存储相关联。在这种情况下,首先将组织的数据加载到 Hadoop 平台中,然后将业务分析和数据挖掘工具应用于其驻留在 Hadoop 商用计算机集群节点上的数据。

Hadoop 也是如此。我们有用于存储的 HDFS 和用于计算的 MapReduce。 我对 Hadoop 和数据湖有点困惑。两者有什么区别。如果它们相同,那么为什么会出现这个术语。或者如何定义数据湖。

【问题讨论】:

为业务分析提供更多选择和使用框架?如果我没记错的话,hadoop 需要更多地了解如何将外部分析算法集成到 MapReduce 中 可怜我今天听说了。哈哈 【参考方案1】:

数据湖是一个抽象的“想法”。 Hadoop 是特定的技术/软件。您可以使用 hadoop 或使用其他工具来实现数据湖。

【讨论】:

这意味着HDFS和数据湖可能是一样的 @KishoreKumarSuthar HDFS 只是一个文件系统。所以没有。 @Havnar 根据***,是的。 “数据湖的一个例子是 Apache Hadoop 中使用的分布式文件系统。” 任何人都可以编辑***。 FAT32 也可以用来存储东西。 所以你是说 FAT32 是一个数据湖?【参考方案2】:

数据湖是一种在系统中存储数据的方法,它有助于以不同的架构和结构形式(通常是对象 blob 或文件)对数据进行整理。

数据湖的概念与 Apache Hadoop 及其开源项目生态系统密切相关。所有关于数据湖的讨论都会很快导致描述如何利用 Apache Hadoop 生态系统的力量构建数据湖。它之所以流行,是因为它提供了一种经济高效且技术可行的方式来应对大数据挑战。组织 正在发现数据湖是他们现有数据架构的演变。

Following whitepaper 将作为使用 Hadoop 构建数据湖的优秀示例。

【讨论】:

【参考方案3】:

想到数据湖的最简单方法是想象这个大型容器,它就像一个真正的湖泊,河流流入河流,您永远不知道河流来自哪里(或河流的“类型”)。

数据湖能够存储大量不同类型的数据(结构化数据、非结构化数据、日志文件、实时数据、图像等)并将它们混合在一起,以关联许多不同的数据类型。这里的关键是我们正在从传统方式转向现代工具(如 Hadoop、Cassandra、NoSQL DB 等)。

如果我们能够分析这些数据,我们可能会从中获得一些价值。我们可以使用云来获取这些数据,将其放在商店中并进行分析。在 Azure 中,我们有 Azure Data Lake Store。我们可以获取所有这些数据,并将其存储在 Azure Data Lake Store 中。 Azure Data Lake Store 就像一个基于云的文件服务或文件系统,其大小几乎不受限制。

我们可以在该存储中的数据之上运行服务。因此,您可以在 HDInsight 群集中使用 Hadoop 或 Spark,也可以使用 Azure Data Lake 分析服务,它是对 Azure Data Lake Store 的补充。该服务将让您执行的操作是运行有效查询您存储在 Azure Data Lake 存储中的数据并生成输出结果的作业。

Azure Data Lake Store 是我们可以存储我们想要分析的所有数据的地方。 Azure 数据湖分析即服务,我们可以在其中运行查询该数据以生成某种输出以进行分析的作业。 Hadoop 是特定技术/(开源分布式数据处理集群技术)。您可以使用 hadoop 或使用其他工具来实现数据湖。

【讨论】:

【参考方案4】:

您已经将概念(数据湖)与可用于实现它们的框架(Hadoop)混淆了,但这是可以理解的,因为这些术语彼此密切相关。

Hadoop 通常与数据湖相关联,因为最初的一些数据湖是使用本地 Hadoop 构建的。然而,数据湖只是一种架构设计模式——数据湖可以在 Hadoop 之外使用任何类型的可扩展对象存储(例如 Azure Data Lake 或 AWS S3)构建。

This site 很好地概述了数据湖,包括讨论 Hadoop 和其他实现的history of data lakes。这是另一个article,它也说明了这些术语是如何联系在一起的。

【讨论】:

【参考方案5】:

我会说这个问题太像了。

“Oracle 与数据库”。

数据湖是一种在系统或存储库中存储数据的方法。 Hadoop引用了该技术,Hadoop是一个用于存储数据的开源软件框架。 Hadoop 中使用的分布式文件系统就是数据湖的一个例子。

【讨论】:

我想说数据湖是您可以使用 Hadoop 或其他技术做的事情之一,但并非所有 Hadoop 应用程序都是数据湖。【参考方案6】:

为了处理数据湖,除了我们的数据量之外,我们还可以使用任何支持不同类型数据的技术。在这种情况下 Apache Hadoop 我们有这个特性,所以我们可以使用 hadoop 来实现数据湖。但是hadoop绝不是指数据湖,因为数据湖是一个包含很多实现的大概念。在开发术语中,我们说“数据湖是一种规范,包含很多实现,例如 hadoop、microsoft azure、aws 等”

【讨论】:

【参考方案7】:

实际上,当您问这个问题时,您是在假设 Hadoop 和数据属于同一类技术,但事实并非如此。

Hadoop 只是一种可用于构建数据湖的技术。 因此,如果您研究架构,数据湖就是一种架构。 虽然 Hadoop 是该架构中的一个组件,但它可以用作数据存储,换句话说,Hadoop 可以是数据湖的存储平台。 所以这种关系是互补的,而不是竞争的。 所以在未来,数据和 Hadoop 都可以继续增长。

但同样,数据湖不仅限于 Hadoop。 因此,数据湖可以使用 Hadoop 或任何其他技术来经济地存储大文件或 数据湖可以使用 Apache Kafka 来管理实时数据。 或者,也许他们可以将非世俗数据库用于面向事务的工作负载,或者使用数据湖 例如,像 Apache KUDU 这样的某种现代数据仓库,这对其他类型的大规模分析工作负载很有意义。 所以基本上,Hadoop 只是一种可以用作整个数据湖结构一部分的技术。

【讨论】:

以上是关于Hadoop 与数据湖的主要内容,如果未能解决你的问题,请参考以下文章

数据湖统一元数据与权限

从头开始构建数据湖

数据湖 VS 传统数据仓库→ 基于 Spark 的数据湖项目实践

数据湖是一种方法 数据湖的四个最佳实践

数据湖(十三):Spark与Iceberg整合DDL操作

数据湖:Hudi与Hive集成