为什么要使用hadoop?

nzkunb0c  于 2021-06-02  发布在  Hadoop
关注(0)|答案(3)|浏览(451)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

5年前关门了。
改进这个问题
我对hadoop的用法有点困惑。我不知道何时何地使用hadoop。
hadoop是一个开源框架,它允许使用简单的编程模型在分布式环境中跨计算机集群存储和处理大数据。它被设计成从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。
根据定义,这项工作还可以由其他数据库完成,如oracle、mssql等,即跨集群存储和处理数据。那么使用hadoop还有什么好处呢?

fumotvh3

fumotvh31#

分发数据和计算。本地数据的计算防止了网络过载。任务是独立的,所以很容易处理部分故障。在这里,整个节点可能会出现故障并重新启动。
它避免了爬行恐怖的失败和容忍同步分布式系统。线性扩展在理想情况下。它曾经设计廉价的商品硬件。简单的编程模型。最终用户程序员只编写map reduce任务。

dfddblmv

dfddblmv2#

hadoop基本上是一个分布式文件系统(distributedfilesystem,hdfs)——它允许您在机器云中存储大量的文件数据,处理数据冗余等。
在分布式文件系统的基础上,hadoop提供了一个api来处理所有存储的数据—map reduce。其基本思想是,由于数据存储在许多节点中,因此最好以分布式方式处理数据,每个节点都可以处理存储在其中的数据,而不是花费大量时间在网络上移动数据。
与可以实时查询的rdm不同,map reduce过程需要时间,并且不会立即产生结果。
在这个基本方案的基础上,您可以构建一个列数据库,比如hbase。列数据库基本上是一个哈希表,允许对行进行实时查询。
据我所知,有很多不同之处。请阅读下面的区别。
hadoop不是一个数据库。hbase或impala可能被认为是数据库,但hadoop只是一个具有内置冗余、并行性的文件系统(hdfs)。
传统的数据库/关系型数据库具有原子性、一致性、隔离性和持久性等特性。使用hadoop,这些都不是现成的。例如,如果你必须编写代码从一个银行账户取钱并存入另一个账户,那么你必须(痛苦地)编写所有的场景,比如如果钱被取出,但在转移到另一个账户之前发生了故障。
hadoop以与rdbms相当的低成本提供了大规模的处理能力和存储。
hadoop提供了巨大的并行处理能力。您可以并行运行作业来处理大量数据。
有些人认为传统的数据库不能很好地处理非结构化数据,但它并没有那么简单。有许多应用程序是用传统的关系型数据库构建的,它们使用了大量的非结构化数据或视频文件或PDF,我遇到过这些应用程序,它们工作得很好。
通常,rdbms将管理缓存中的大量数据,以加快处理速度,同时保持会话间的读取一致性。我认为hadoop在使用内存缓存处理数据方面做得更好,而不提供读一致性之类的任何其他项目。
配置单元sql几乎总是比在传统数据库中运行的sql慢一个数量级。因此,如果您认为配置单元中的sql比数据库中的sql快,那么您会感到非常失望。对于复杂的分析来说,它根本无法扩展。
hadoop非常适合于并行处理问题,比如在一大组文档中查找一组关键字(这个操作可以并行化)。然而,对于可比较的数据集,rdbms的实现通常会更快。

tkqqtvp1

tkqqtvp13#

rdbms无法以经济高效的方式处理大数据。随着数据量的增加,使用垂直扩展技术的rdbms系统将不能很好地工作。在这里,像hadoop这样的大数据处理框架以一种经济高效的方式工作得很好。大多数大数据处理框架都是开源的,设计用于在商品硬件上运行。因此,与相同设置所需的rdbms相比,成本将非常低。
简单地说,bigdata从rdbms由于数据大小和复杂性而停止的地方开始。另一点是rdbms主要处理结构化数据。但大多数大数据框架都可以处理结构化、非结构化和半结构化数据。大多数大数据框架都是为处理任何类型的大数据而设计的。

相关问题