使用 Apache Spark 进行嵌套迭代?
nested iterations with Apache Spark?
我正在考虑将 Apache Spark(在 java)用于一个项目,但是这个项目需要数据处理框架来支持嵌套迭代。我还没有找到任何证实,它支持它吗?
另外,有没有使用嵌套迭代的例子?
谢谢!
几乎任何事情都可以做,但问题是什么适合执行模型足以打扰。 Spark 的操作本质上是并行的,而不是迭代的。也就是说,一些操作并行发生在一堆数据上,而不是对每个数据顺序发生一些事情(然后再次发生)。
然而,Spark(驱动程序)程序只是一个程序,可以在本地做任何你想做的事。当然,嵌套循环或任何你喜欢的都完全可以,就像在任何 Scala 程序中一样。
我认为您可以将 Spark 操作用于分桶过程并计算每个分桶的汇总统计信息,否则 运行 驱动程序本地逻辑的简单剩余部分。
所以流程是:
- 广播分桶方案
- 在分布式操作中根据该方案进行存储
- 向驱动程序拉取小摘要统计数据
- 更新分桶方案并再次发送
- 重复...
我正在考虑将 Apache Spark(在 java)用于一个项目,但是这个项目需要数据处理框架来支持嵌套迭代。我还没有找到任何证实,它支持它吗? 另外,有没有使用嵌套迭代的例子?
谢谢!
几乎任何事情都可以做,但问题是什么适合执行模型足以打扰。 Spark 的操作本质上是并行的,而不是迭代的。也就是说,一些操作并行发生在一堆数据上,而不是对每个数据顺序发生一些事情(然后再次发生)。
然而,Spark(驱动程序)程序只是一个程序,可以在本地做任何你想做的事。当然,嵌套循环或任何你喜欢的都完全可以,就像在任何 Scala 程序中一样。
我认为您可以将 Spark 操作用于分桶过程并计算每个分桶的汇总统计信息,否则 运行 驱动程序本地逻辑的简单剩余部分。
所以流程是:
- 广播分桶方案
- 在分布式操作中根据该方案进行存储
- 向驱动程序拉取小摘要统计数据
- 更新分桶方案并再次发送
- 重复...