hadoop - 数据局部性在 Hadoop 中到底意味着什么?

标签 hadoop mapreduce

许多 Hadoop 教程站点(即 https://techvidvan.com/tutorials/data-locality-in-hadoop-mapreduce/)定义的数据局部性指出:“Hadoop 中的数据局部性是将计算移动到靠近实际数据所在位置的过程,而不是将大数据移动到计算中。这最大限度地减少了整体网络拥堵。”

我可以理解让数据所在的节点处理这些数据的计算,而不是四处移动数据,这样会更高效。但是,“将计算移动到靠近实际数据所在的位置”是什么意思?这是否意味着如果数据位于德国的服务器中,最好使用法国的服务器对这些数据进行计算,而不是使用新加坡的服务器进行计算,因为法国比德国更接近德国而不是新加坡?

最佳答案

通常人们会在一个完全不同的范围内谈论这个问题,尤其是在 Hadoop 环境中。

假设你有一个由 5 个节点组成的集群,你在那里存储了一个文件并需要对其进行计算。

借助数据局部性,您可以尝试在存储数据的节点(而不是例如具有可用计算资源的第一个节点)上进行计算。

这减少了网络负载。


很高兴认识到在许多新的基础架构中网络不是瓶颈,因此您会不断听到更多有关计算和存储分离的信息。

关于hadoop - 数据局部性在 Hadoop 中到底意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58272650/

相关文章:

hadoop - 自连接时 hive 处理缓慢

hadoop - 大小为零的输出文件

java - 为什么我们可以在WordCount示例中重用Text对象

hadoop - FIWARE-Cosmos 头节点的 SSH 访问

hadoop - setsockopt IPV6_TCLASS 16 : Protocol not available, Cygwin64

maven - 色相由于缺少Thrift类而无法构建。

java - 如何根据hadoop中的公共(public)键连接两个数据集?

hadoop - Pig/MapReduce工作分析概念需要了解

javascript优化多个reduce和map从嵌套对象中提取数据

sql - Impala/Hive 获取表列表及其大小