什么是hadoop-hadoop的定义?

eyh26e7m  于 2021-06-04  发布在  Hadoop
关注(0)|答案(5)|浏览(371)

这是很明显的,我们都同意我们可以打电话 HDFS + YARN + MapReduce 作为hadoop。但是hadoop生态系统中不同的组合和其他产品会发生什么呢?
比如说, HDFS + YARN + Spark 还是hadoop?是 HBASE hadoop?我想我们应该考虑 HDFS + YARN + Pig hadoop,因为pig使用mapreduce。
只有mapreduce工具被认为是hadoop,而其他工具都在hadoop上运行吗 HDFS + YARN (比如spark)是非hadoop吗?

x4shl7ld

x4shl7ld1#

我同意你的印象,即“hadoop”一词没有一个有用的定义。”我们有一个hadoop集群“可能意味着很多事情。
不过,目前有一个官方的答案http://hadoop.apache.org/#what+is+apache+hadoop%3f:
Apache™ hadoop软件® 该项目为可靠的、可扩展的、分布式计算开发了开源软件。
apachehadoop软件库是一个框架,它允许使用简单的编程模型跨计算机集群对大型数据集进行分布式处理。
所以“hadoop”是一个项目和一个软件库的名字。任何其他用法都定义不清。

von4xj4u

von4xj4u2#

hadoop不是像lamp或mean堆栈那样的堆栈。hadoop是一个框架和工具的集合,它们共同解决复杂的大数据问题。
它基本上是在Apache基金会下的一个项目。各种子项目,如mapreduce、ambari、sqoop、spark、zookeeper等,都被称为hadoop生态系统。
资料来源:https://www.datacloudschool.com/2020/01/introduction-what-is-hadoop.html

y0u0uwnf

y0u0uwnf3#

为什么我们需要大数据系统?
存储(存储大量数据)
处理(及时处理数据/请求)
扩展(随着数据的增长而轻松扩展)
谷歌提供了一个大数据解决方案。
google文件系统:解决分布式存储问题。
map-reduce:解决分布式计算。
谷歌发表了研究论文。apache开发的开源系统类似于google开发的,它被称为hadoop。
hadoop中类似google文件系统的是hdfs(hadoop分布式文件系统):管理数据存储的文件系统。
map reduce:跨多个服务器处理数据的框架。
注:2013年,apache发布了hadoop 2.0(mapreduce),分为两个组件:
mapreduce:定义数据处理任务的框架。
yarn:运行数据处理任务的框架。)
hadoop生态系统
hadoop并不容易理解,它仅限于硬核开发人员。为了使hadoop的使用更容易。许多工具如雨后春笋般涌现,整体上被称为hadoop生态系统。
hadoop生态系统包含以下工具:
Hive:
提供一个到hadoop的sql接口。
为那些没有接触过java中oops的人架起了hadoop的桥梁。
hbase公司:
一个基于hadoop的数据库管理系统。
像传统数据库一样与我们的应用程序集成。
清管器:
数据操作语言。
将非结构化数据转换为结构化格式。
使用像hive这样的接口查询这些结构化数据。
Spark:
与hadoop一起使用的分布式计算引擎。
用于快速处理数据集的交互式shell。
有一堆用于机器学习流处理、图形处理等的内置库。
奥齐:
在所有hadoop生态系统技术上调度工作流的工具。
Flume/sqoop:
在其他系统和hadoop之间传输数据的工具。
这是hadoop的一个非常高级的概述。

1cklez4t

1cklez4t4#

对hadoop最普遍的理解是:hdfs和map/reduce及其相关的过程和工具。
相关术语:hadoop生态系统:hive/pig/hbase、zookeeper、oozie。也有特定的供应商,如 Impala ,Ambari。

izkcnapc

izkcnapc5#

除了官方网站上的apachehadoop定义之外,我想强调的是hadoop是一个框架,hadoop生态系统中有许多子系统
引用此内容从官方网站,使断开的链接在未来不会造成任何问题,这个答案。
该项目包括以下模块:
hadoop公共:支持其他hadoop模块的公共实用程序。
hadoop分布式文件系统(hdfs)™): 提供对应用程序数据的高吞吐量访问的分布式文件系统。
hadoopYarn:作业调度和集群资源管理的框架。
hadoopmapreduce:一个基于Yarn的大数据集并行处理系统。
或多或少,
hadoop=分布式存储(hdfs)+分布式处理(yarn+map-reduce)
但这四个模块并没有涵盖完整的hadoop生态系统。hadoop生态系统中有许多与hadoop相关的项目和40多个子系统。
apache的其他hadoop相关项目包括:
Ambari™: 一种基于web的工具,用于配置、管理和监视apache hadoop群集,包括对hadoop hdfs、hadoop mapreduce、hive、hcatalog、hbase、zookeeper、oozie、pig和sqoop的支持。
阿夫罗™: 数据序列化系统。
Cassandra™: 无单点故障的可扩展多主数据库。
竹瓜™: 用于管理大型分布式系统的数据收集系统。
数据库™: 一种可扩展的分布式数据库,支持大型表的结构化数据存储。
Hive™: 提供数据摘要和即席查询的数据仓库基础设施。
行家™: 一个可扩展的机器学习和数据挖掘库。
Pig™: 一种用于并行计算的高级数据流语言和执行框架。
Spark™: 一个快速通用的hadoop数据计算引擎。spark提供了一个简单而富有表现力的编程模型,支持广泛的应用,包括etl、机器学习、流处理和图形计算。
泰兹™: 一个基于hadoop-yarn的通用数据流编程框架,它提供了一个强大而灵活的引擎来执行任意dag任务来处理批处理和交互式用例的数据。泰兹被Hive收养了™, Pig™ 以及hadoop生态系统中的其他框架,以及其他商业软件(例如etl工具)来取代hadoop™ mapreduce作为底层执行引擎。
Zookeeper™: 一种用于分布式应用程序的高性能协调服务。
回到你的问题:
看看hadoop生态系统中的40多个子系统。你所引用的每一件事可能都不是hadoop,但大多数都与hadoop有关。
spark是hadoop生态系统的一部分。但它既不能使用hdfs也不能使用Yarn。hdfs数据集可以用rdd(弹性分布式数据集)代替,并且可以在独立模式下运行,而不需要使用yarn。
看看这篇文章和这篇hadoop&spark比较的文章。
通过hadoop激发用例:
机器学习中的迭代算法
交互式数据挖掘与数据处理
流处理
传感器数据处理
由于spark没有存储系统,它必须依赖于其中一个分布式存储,其中hdfs就是其中之一。
看看相关的se问题:
apachespark能在没有hadoop的情况下运行吗?

相关问题