Spark原则是"将代码发送到数据"。这是什么意思?为什么这比将数据发送到代码"更好更高效?在Spark?
答案 0 :(得分:2)
通常Spark处理大量数据并对其进行CPU密集型操作,例如转型或机器学习。它需要将数据保存在内存中。单台机器上的内存有限。因此Spark在多个节点中加载数据,并将算法发送到要在数据上执行的那些机器上 此外,Spark也在使用“' n”的CPU。节点而不仅仅是一个节点 我们通常将这些数据组织为密钥。例如。我们需要计算大量客户的账户数据。这些可以在单独的节点上并行计算。所以有很大的性能提升 一旦在节点上完成所有计算,就可以在您的机器上收集每个节点的最终解决方案,或者更好,如果它很大,则写入NAS或HDFS上的输出文件。 请参阅以了解相关信息。
答案 1 :(得分:1)
如果将数据发送到代码,则边缘节点为
另一种方法是边缘节点将代码发送到数据
比例更好的原因很简单,更多数据节点比边缘节点和 locality 数据意味着更好的性能。