什么是Hadoop?

回到术语表
Apache Hadoop是一个开源的、bob下载地址基于java的软件平台,用于管理大数据应用程序的数据处理和存储。bob体育客户端下载该平台的bob体育客户端下载工作原理是将Hadoop大数据和分析作业分布到计算集群中的节点上,将它们分解为可以并行运行的更小的工作负载。Hadoop的一些主要优点是可伸缩性、弹性和灵活性。HDFS (Hadoop Distributed File System)通过将集群中的任意节点复制到集群中的其他节点,以防止硬件或软件故障,从而提供可靠性和弹性。Hadoop的灵活性允许存储任何数据格式,包括结构化和非结构化数据。

从Hadoop迁移到傻瓜的数据湖屋
当你迁移到湖边小屋时,以更低的成本获得更快的洞察力。

然而,Hadoop架构带来了一系列挑战,特别是随着时间的推移。Hadoop可能过于复杂,需要大量的资源和专业知识来设置、维护和升级。由于执行计算需要频繁的读和写,这也非常耗时和低效。Hadoop的长期生存能力继续下降,因为主要的Hadoop供应商开始从这个平台转移,因为加速的数字化需求鼓励许多公司重新评估他们与Hadoop的关系。bob体育客户端下载实现数据平台现代化的最佳解决方案是从Hadoop迁移到Databricks Lakbob体育客户端下载ehouse平台。阅读更多关于Hadoop的挑战,以及向现代数据平台的转变,请参阅我们的bob体育客户端下载博客

什么是Hadoop编程?

在Hadoop框架中,代码主要是用Java编写的,但一些本地代码是基于c编写的。此外,命令行实用程序通常以shell脚本的形式编写。对于Hadoop MapReduce, Java是最常用的,但是通过像Hadoop流这样的模块,用户可以使用他们选择的编程语言来实现映射和reduce函数。

什么是Hadoop数据库?

Hadoop不是数据存储或关系数据库的解决方案。相反,它作为开源框架的目的是实时同时处理大量数据。

数据存储在HDFS中,然而,这被认为是非结构化的,不符合关系数据库的资格。事实上,使用Hadoop,数据可以以非结构化、半结构化或结构化形式存储。这使得公司可以更灵活地处理大数据,以满足他们的业务需求。

Hadoop是什么类型的数据库?

从技术上讲,Hadoop本身并不是SQL或RDBMS这样的数据库类型。相反,Hadoop框架为用户提供了针对各种数据库类型的处理解决方案。

Hadoop是一个软件生态系统,允许企业在短时间内处理大量数据。这是通过促进大规模使用并行计算机处理来实现的。各种数据库(如Apache HBase)可以分散在包含在数百或数千个商用服务器上的数据节点集群中。

Hadoop是什么时候发明的?

随着Yahoo和谷歌等搜索引擎的起步,人们需要处理越来越多的大数据,并更快地提供网络结果,Apache Hadoop应运而生。

灵感来自谷歌MapReduce2002年,Doug Cutting和Mike Cafarella在从事Apache Nutch项目时创建了Hadoop。根据《纽约时报》的一篇文章,Doug用他儿子的玩具大象来命名Hadoop。

几年后,Hadoop从Nutch中剥离出来。Nutch专注于网络爬虫元素,而Hadoop则成为分布式计算和处理部分。卡特加入雅虎两年后,雅虎于2008年将Hadoop作为一个开源项目发布。bob下载地址Apache软件基金会(ASF)在2012年11月将Hadoop作为Apache Hadoop向公众开放。

Hadoop的影响是什么?

Hadoop是大数据领域的一个重大发展。事实上,它被认为是现代云数据湖的基础。Hadoop普及了计算能力,使公司能够使用免费的开源软件和廉价的现成硬件以可扩展的方式分析和查询大数据集。bob下载地址

这是一个重大的发展,因为它提供了一种替代专利的可行方案数据仓库(DW)解决方案和封闭的数据格式(在此之前)占据了主导地位。

随着Hadoop的引入,组织迅速获得了存储和处理大量数据的能力,提高了计算能力、容错能力、数据管理的灵活性、与dw相比成本更低,以及更强的可伸缩性。最终,Hadoop为大数据分析的未来发展铺平了道路,比如Apache Spark的引入。

Hadoop的用途是什么?

谈到Hadoop,可能的用例几乎是无穷无尽的。

零售

大型组织拥有比以往更多的可用客户数据。但通常情况下,很难在大量看似不相关的数据之间建立联系。当英国零售商玛莎百货部署hadoop驱动的Cloudera企业在美国,他们对结果印象深刻。

Cloudera使用基于hadoop的支持和服务来管理和处理数据。在实施基于云的平台后不久,玛莎百货发现他们能够成功地利用他们的数据进行改进的预测分析。bob体育客户端下载

这使他们能够更有效地使用仓库,并防止在“意外”需求高峰期间出现缺货,并在竞争中获得巨大优势。

金融

Hadoop也许比其他任何领域都更适合金融领域。在早期,软件框架很快被主要用于处理与风险建模相关的高级算法。正是这种类型的风险管理可以帮助避免导致2008年经济衰退的信贷互换灾难。

银行也意识到同样的逻辑也适用于客户投资组合的风险管理。如今,金融机构普遍采用Hadoop来更好地管理其客户资产的财务安全和性能。摩根大通是众多行业巨头之一,它们使用Hadoop来管理全球范围内呈指数级增长的客户数据。

医疗保健

无论是国有化还是私有化,任何规模的医疗保健提供商都要处理大量的数据和客户信息。Hadoop框架允许医生、护士和护理人员在需要的时候轻松地访问他们需要的信息,还可以轻松地聚合数据,提供可操作的见解。这可以应用于公共卫生、更好的诊断、更好的治疗等方面。

学术和研究机构也可以利用Hadoop框架来促进他们的工作。以包括癌症在内的遗传疾病领域为例。我们已经绘制出了人类基因组,总共有近30亿个碱基对。从理论上讲,治疗一大批疾病的一切手段都摆在我们面前。

但是为了识别复杂的关系,需要像Hadoop这样的系统来处理如此大量的信息。

保安及执法

Hadoop还可以帮助提高国家和地方安全的有效性。当涉及到解决分布在多个地区的相关犯罪时,Hadoop框架可以通过连接两个看似孤立的事件来简化执法过程。通过减少建立案件联系的时间,各机构将能够尽快向其他机构和公众发出警报。

2013年,国家安全局(NSA)得出的结论是,开源Hadoop软件优于他们一直在实施的昂贵替代品。他们现在使用这个框架来帮助侦查恐怖主义、网络犯罪和其他威胁。

Hadoop是如何工作的?

Hadoop是一个框架,它允许在商品硬件集群上分布巨大的数据集。Hadoop处理是在多个服务器上同时并行执行的。

客户端向Hadoop提交数据和程序。简单来说,HDFS (Hadoop的核心组件)处理元数据和分布式文件系统。接下来,Hadoop MapReduce处理并转换输入/输出数据。最后,YARN在集群中划分任务。

使用Hadoop,客户可以期望通过高可用性和内置故障点检测更有效地使用商品资源。此外,在对连接的业务系统执行查询时,客户可以期望快速响应。

总之,Hadoop为希望最大限度地利用大数据的组织提供了一个相对简单的解决方案。

Hadoop是用什么语言编写的?

Hadoop框架本身主要是由Java构建的。其他编程语言包括一些C语言的本地代码和命令行的shell脚本。然而,Hadoop程序可以用许多其他语言编写,包括Python或c++。这使得程序员可以灵活地使用他们最熟悉的工具。

如何使用Hadoop

正如我们所提到的,Hadoop为需要管理大数据的组织创建了一个简单的解决方案。但这并不意味着它总是很容易使用。正如我们可以从上面的用例中了解到的,如何选择实现Hadoop框架是非常灵活的。

您的业务分析师、数据科学家和开发人员。决定使用Hadoop完全取决于你的组织和它的目标。

Hadoop并不适合每个公司,但大多数组织应该重新评估他们的与Hadoop的关系.如果您的业务将大量数据作为其核心流程的一部分来处理,Hadoop将提供灵活、可扩展且可负担得起的解决方案来满足您的需求。从那以后,主要取决于你和你的团队的想象力和技术能力。

Hadoop查询示例

下面是一些查询Hadoop的例子:

Apache蜂巢

Apache Hive是使用Hadoop查询SQL的早期解决方案。这个模块模拟MySQL的行为、语法和接口,以简化编程。如果您已经大量使用Java应用程序,这是一个很好的选择,因为它带有内置的Java API和JDBC驱动程序。Hive为开发人员提供了一个快速而直接的解决方案,但它也有很大的局限性,因为该软件相当缓慢,并且具有只读功能。

IBM BigSQL

IBM提供的这个产品是用于Hadoop的高性能大规模并行处理(MPP) SQL引擎。它的查询解决方案满足了需要在稳定和安全环境中轻松工作的企业的需求。除了访问HDFS数据外,它还可以从RDBMS、NoSQL数据库、WebHDFS和其他数据源中提取数据。

什么是Hadoop生态系统?

术语Hadoop是一个通用名称,可以指以下任何一种:

  • 整体Hadoop生态系统,包括核心模块和相关子模块。
  • Hadoop的核心模块,包括Hadoop分布式文件系统(HDFS)、Yet Another Resource Negotiator (YARN)、MapReduce和Hadoop Common(下面讨论)。这些是典型Hadoop部署的基本构建块。
  • hadoop相关子模块,包括:Apache蜂巢, Apache黑斑羚, Apache,以及Apache动物园管理员,以及Apache Flume等。这些相关的软件可用于自定义、改进或扩展核心Hadoop的功能。

Hadoop的核心模块是什么?

  • HDFS—Hadoop分布式文件系统。HDFS是一个基于java的系统,它允许以容错的方式在集群中的节点之间存储大型数据集。
  • -另一个资源协商者。YARN用于集群资源管理、计划任务和调度运行在Hadoop上的作业。
  • MapReduce-MapReduce是一种编程模型和大数据处理引擎,用于并行处理大数据集。最初,MapReduce是Hadoop中唯一可用的执行引擎。但是,后来Hadoop增加了对其他的支持,包括Apache特斯而且Apache火花
  • Hadoop常见Hadoop Common提供了一组跨库和实用程序的服务,以支持其他Hadoop模块。

Hadoop生态系统组件是什么?

Hadoop生态系统由几个核心组件组成。

HDFS

Hadoop分布式文件系统是所有数据存储的起点和终点。该组件管理跨各种结构化和非结构化数据节点的大型数据集。同时,它以日志文件的形式维护元数据。HDFS有两个次要组件:NameNode和DataNode。

NameNode

Hadoop HDFS的主Daemon是NameNode。该组件维护文件系统名称空间并规范客户机对所述文件的访问。它也被称为主节点,存储元数据,如块的数量和它们的位置。它主要由文件和目录组成,并执行文件系统执行,如命名、关闭和打开文件。

DataNode

第二个组件是从属Daemon,名为DataNode。这个HDFS组件在执行客户端请求的读写功能时存储实际数据或块。这意味着DataNode还负责主NameNode所指示的副本的创建、删除和复制。

DataNode由两个系统文件组成,一个用于数据,另一个用于记录块元数据。当应用程序启动时,主守护进程和从守护进程之间会进行握手,以验证名称空间和软件版本。任何不匹配都会自动关闭DataNode。

MapReduce

MapReduce是Hadoop的核心处理组件Hadoop生态系统.当涉及到处理大量结构化和非结构化数据时,该软件为应用程序编写提供了一个简单的框架。这主要是通过促进在商品硬件上的各个节点之间并行处理数据来实现的。

MapReduce处理来自客户端的作业调度。用户请求的任务被划分为独立的任务和进程。接下来,这些MapReduce作业在整个商用服务器的集群和节点上被划分为子任务。

这是通过两个阶段来完成的;Map阶段和Reduce阶段。在Map阶段,数据集被转换为另一组分解为键/值对的数据。接下来,Reduce阶段根据程序员通过InputFormat类转换输出。

程序员在MapReduce中指定两个主要函数。Map函数是处理数据的业务逻辑。Reduce函数生成map函数中间数据输出的汇总和聚合,从而生成最终输出。

简单来说,Hadoop YARN是MapReduce的更新和改进版本。然而,这并不是一幅完全准确的图景。这是因为YARN还用于调度和处理以及作业序列的执行。但是YARN是Hadoop的资源管理层,其中每个作业作为单独的Java应用程序在数据上运行。

作为框架的操作系统,YARN允许在单个平台上处理批处理和f数据。bob体育客户端下载YARN的功能远远超过MapReduce,它允许程序员构建交互式和实时流应用程序。

YARN允许程序员在同一个集群上运行任意数量的应用程序。它为系统资源的运营管理和共享提供了安全稳定的基础,以实现最大的效率和灵活性。

有哪些流行的hadoop相关软件?

其他流行的包严格来说不是核心Hadoop模块的一部分,但经常与它们结合使用,包括:

  • Apache蜂巢是运行在Hadoop上的数据仓库软件,允许用户使用类似sql的查询语言HiveQL处理HDFS中的数据。
  • Apache黑斑羚是Apachebob下载地址 Hadoop的开源原生分析数据库。
  • Apache猪是一种工具,通常与Hadoop一起使用,作为MapReduce的抽象,用于分析表示为数据流的大型数据集。Pig支持连接、过滤、排序和加载等操作。
  • Apache管理员是用于支持高度可靠的分布式处理的集中式服务。
  • Apache Sqoop该工具是为高效地传输大量数据而设计的吗Apache Hadoop以及结构化数据存储,例如关系数据库。
  • Apache Oozie是一个工作流调度系统来管理Apache Hadoop作业。Oozie工作流作业是动作的有向非循环图(dag)。

兴趣的?阅读更多有关Hadoop生态系统

如何使用Hadoop进行分析

根据数据源和组织需求,使用Hadoop框架进行分析的主要方法有三种。

在企业数据中心中进行部署

对于那些拥有必要的现有资源的企业来说,这通常是一个既省时又经济可靠的选择。否则,设置所需的技术设备和IT人员可能会过度使用资金和团队资源。这个选项确实让企业对数据的安全性和隐私有了更好的控制。

跟着云走

希望更快实现、更低前期成本和更低维护要求的企业将希望利用基于云的服务。通过云提供商,数据和分析在云中的商用硬件上运行。这些服务以合理的价格简化了大数据的处理,但也有一定的缺点。

首先,在公共互联网上的任何东西都是黑客之类的公平游戏。其次,对互联网和网络提供商的服务中断会使您的业务系统陷于停顿。对于现有的框架用户,它们可能涉及到需要从Hadoop迁移到Lakehow架构

本地供应商

那些选择更好的正常运行时间、隐私性和安全性的人将会在预置Hadoop提供商那里找到这三点。这些供应商提供了两全其美的服务。他们可以通过提供所有设备、软件和服务来简化流程。但是由于基础设施是内部部署的,您可以获得大公司从拥有数据中心中获得的所有好处。

Hadoop的好处是什么?

  • 可伸缩性-与限制数据存储的传统系统不同,Hadoop是可扩展的,因为它在分布式环境中运行。这使得数据架构师可以尽早进行构建数据的湖泊在Hadoop。BOB低频彩了解更多有关数据湖的历史和演变
  • 弹性—HDFS (Hadoop Distributed File System)具有基本的弹性。存储在Hadoop集群任何节点上的数据也会复制到集群的其他节点上,以便为可能出现的硬件或软件故障做好准备。这种有意的冗余设计确保了容错能力。如果一个节点宕机,集群中总是有可用的数据备份。
  • 灵活性-与关系数据库管理系统不同,当使用Hadoop时,您可以以任何格式存储数据,包括半结构化或非结构化格式。Hadoop使企业能够轻松地访问新数据源并挖掘不同类型的数据。

Hadoop架构的挑战是什么?

  • 复杂性Hadoop是一个底层的、基于java的框架,对于最终用户来说,使用它可能过于复杂和困难。Hadoop架构还需要大量的专业知识和资源来设置、维护和升级。
  • 性能Hadoop使用频繁的读取和写入磁盘来执行计算,这与旨在尽可能多地在内存中存储和处理数据的框架(如Apache Spark)相比,既耗时又低效。
  • 长期生存能力- 2019年,世界看到了Hadoop领域的大规模瓦解。谷歌,2004年MapReduce论文支持创建Apache Hadoop,完全停止使用MapReduce,作为在推特上谷歌技术基础设施高级副总裁,Urs Hölzle。还有一些非常引人注目合并而且收购在Hadoop的世界里此外,在2020年,一家领先的Hadoop提供商将其产品集从以Hadoop为中心转移,因为Hadoop现在被认为是“与其说是一种技术,不如说是一种哲学“最后,2021年是有趣变化的一年。2021年4月,Apache软件基金会宣布Hadoop生态系统中十个项目的退役.然后在2021年6月,Cloudera同意保密.这个决定对Hadoop用户的影响还有待观察。这种日益增长的担忧与数字化的加速需求相结合,促使许多公司重新评估他们与Hadoop的关系。

哪些公司使用Hadoop?

采用Hadoop正在成为成功的跨国公司和企业的标准。以下是目前使用Hadoop的公司列表:

  • Adobe—软件和服务提供商使用Apache Hadoop和HBase进行数据存储和其他业务。
  • 易趣-使用框架进行搜索引擎优化和研究。
  • A9-亚马逊的子公司,负责搜索引擎和搜索相关广告的相关技术。
  • LinkedIn-作为最受欢迎的社交和专业社交网站之一,该公司使用了许多Apache模块,包括Hadoop、Hive、Kafka、Avro和DataFu。
  • Spotify瑞典音乐流媒体巨头使用Hadoop框架进行分析和报告,以及内容生成和收听建议。
  • 脸谱网-这家社交媒体巨头拥有世界上最大的Hadoop集群,其数据集据称每天增长一半PB。
  • InMobi移动营销平台利用HDFS和Apache Pigbob体育客户端下载/MRUnit任务,涉及分析、数据科学和机器学习。

Hadoop的成本是多少?

Hadoop框架本身是一个基于java的开源应用程序。这意味着,与其他大数据替代品不同,它是免费的。当然,所需商品软件的成本取决于规模。

当涉及到实现Hadoop框架的服务时,您将有几个定价选项:

  1. 每节点-最常见
  2. 每结核病
  3. 免费产品,有或没有订阅的技术支持
  4. 包括所有硬件和软件在内的一体化服务
  5. 基于云的服务,有自己的细分定价选项——基本上可以按需付费,也可以随取随付

阅读更多关于Hadoop的挑战,以及向现代数据平台的转变,在我们的bob体育客户端下载博客

额外的资源


回到术语表