使用Apache Spark进行嵌套迭代?

时间:2015-04-12 20:08:58

标签: java machine-learning apache-spark

我正在为一个项目考虑Apache Spark(在java中),但是这个项目需要数据处理框架来支持嵌套迭代。我还没有找到任何确认,是否支持它? 另外,有没有使用嵌套迭代的例子?

谢谢!

1 个答案:

答案 0 :(得分:4)

几乎可以做任何事情,但问题是什么使得执行模型更适合打扰。 Spark的操作本质上是并行的,而不是迭代的。也就是说,某些操作与一堆数据并行发生,而不是每个部分顺序发生(然后再次发生)。

然而,Spark(驱动程序)程序只是一个程序,可以在本地执行任何操作。当然,嵌套循环或任何你喜欢的东西都可以像任何scala程序一样完美。

我认为您可以将Spark操作用于存储过程并计算每个存储桶的摘要统计信息,但在驱动程序上本地运行逻辑的简单余数。

所以过程是:

  • 广播分组方案
  • 在分布式操作中根据该方案进行铲斗
  • 将小型摘要统计信息提取给驱动程序
  • 更新分段方案并重新发送
  • 重复...