许多 Hadoop 教程站点(即 https://techvidvan.com/tutorials/data-locality-in-hadoop-mapreduce/)定义的数据局部性指出:“Hadoop 中的数据局部性是将计算移动到靠近实际数据所在位置的过程,而不是将大数据移动到计算中。这最大限度地减少了整体网络拥堵。”
我可以理解让数据所在的节点处理这些数据的计算,而不是四处移动数据,这样会更高效。但是,“将计算移动到靠近实际数据所在的位置”是什么意思?这是否意味着如果数据位于德国的服务器中,最好使用法国的服务器对这些数据进行计算,而不是使用新加坡的服务器进行计算,因为法国比德国更接近德国而不是新加坡?
最佳答案
通常人们会在一个完全不同的范围内谈论这个问题,尤其是在 Hadoop 环境中。
假设你有一个由 5 个节点组成的集群,你在那里存储了一个文件并需要对其进行计算。
借助数据局部性,您可以尝试在存储数据的节点(而不是例如具有可用计算资源的第一个节点)上进行计算。
这减少了网络负载。
很高兴认识到在许多新的基础架构中网络不是瓶颈,因此您会不断听到更多有关计算和存储分离的信息。
关于hadoop - 数据局部性在 Hadoop 中到底意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58272650/