2013-10-03 22 views
1

人们似乎非常热衷于将现有应用程序迁移到Hadoop基础架构,并且在许多公司或组织中似乎有一句口号:如果您有大量数据,请使用Hadoop。 我想了解现有解决方案对集中(大)数据的依赖如何影响Hadoop是一个好的解决方案的决定。如何通过Hadoop使用集中式资源mapreduce

在许多情况下,您的典型“大数据”应用程序想要处理数十亿个事物,例如,文件,信息,档案尽可能有效和快速。我发现以地图/缩小方式将这项工作分布在许多节点中的优势。 但是,通常为了能够处理这些事情,处理函数(映射器)必须在某处查找某些东西。例如,向SQL服务器发送查询,查看图形数据库中的某些内容,在巨大的键/值存储中查找数据。另外,每个函数都需要大量内存来存储/缓存处理它所需的所有数据。

这是违背Hadoop处事方式还是通常以这种方式完成的事情?最终的结果是,除了将处理工作分散到一堆Hadoop节点之外,您还需要找到一种方式来实现并行化或升级或者“中央服务器”(SQL,Graph数据库等),以便他们可以回答来自并行Hadoop节点的所有请求,不是吗?

当获得并行化的处理取决于在巨型中央数据存储区中的快速查找时,转向使用Hadoop的最佳方式是什么?

回答

0

这就是为什么你有像Cassandra这样的解决方案。当然,你不能大规模并行计算,而是将数据存储保存为单个实体。您还需要并行处理相关资源。

+0

谢谢 - 但仍然有一些非常基本的东西我不明白:mapreduce模型似乎基于这样的假设:需要处理的事物可以在节点之间分开,而不是地图可以处理它们 - 每个节点都是该节点上本地可用的一组数据。但是,当我们需要从中央商店查询数据时,每个地图流程都需要获得数十亿潜在记录中某些数据的潜在访问权限。在这种情况下,你不能很好地分解它。如何将一个拥有数十亿个三元组的RDF大型商店移动到该架构中进行查找? – Johsm