在最近有关分布式处理和流传输的讨论中,我遇到了“代码移至数据”的概念。有人可以帮忙解释一下吗?该短语的引用是MapReduceWay。
就Hadoop而言,it's stated in a question仍然无法以与技术无关的方式弄清楚该原理的解释。
最佳答案
基本思想很简单:如果代码和数据位于不同的计算机上,则必须先将其中一个移到另一台计算机上,然后才能对数据执行代码。如果代码比数据小,那么如果所有机器都同样快且代码兼容,则最好将代码发送到保存数据的机器。 [可以说您可以根据需要发送源代码和JIT编译]。
在大数据世界中,代码几乎总是小于数据。
在许多 super 计算机上,数据被分布在多个节点上,并且整个应用程序的所有代码都在所有节点上复制,正是因为整个应用程序甚至比本地存储的数据都小。然后,任何节点都可以运行程序中适用于其所保存数据的部分。无需按需发送代码。