16

我听说了一个新术语Data Lake。我用谷歌搜索并得到了

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

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

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

4

7 回答 7

17

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

于 2016-03-14T12:42:18.597 回答
7

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

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

以下白皮书将作为使用 Hadoop 构建数据湖的绝佳示例。

于 2016-06-29T16:23:59.863 回答
2

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

Data Lake能够存储大量不同类型的数据(结构化数据、非结构化数据、日志文件、实时数据、图像等)并将其混合在一起,以关联许多不同的数据类型。这里的关键是我们正在从传统方式转向现代工具(如 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 或使用不同的工具来实现数据湖。

于 2018-05-09T15:10:57.243 回答
2

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

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

这个网站很好地概述了数据湖,包括讨论 Hadoop 和其他实现的数据湖的历史。这是另一篇文章,讨论了这些术语是如何联系在一起的。

于 2020-02-20T19:35:39.900 回答
1

I´d say that question is too much like.

"Oracle vs Database".

A data lake is a method of storing data within a system or repository. Hadoop reference the technology, Hadoop is an open-source software framework for storing data. So one example of a data lake is the distributed file system used in Hadoop.

于 2017-07-10T13:21:08.333 回答
0

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

于 2020-11-17T09:39:22.627 回答
0

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

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

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

于 2021-08-24T19:18:43.400 回答