如何在 Apache Spark 中实现递归算法?

Posted

技术标签:

【中文标题】如何在 Apache Spark 中实现递归算法?【英文标题】:How to implement recursive algorithms in Apache Spark? 【发布时间】:2021-09-07 06:10:17 【问题描述】:

我有一个问题,我想在 Spark 中实现递归算法,并查看是否有任何建议可以在 Spark 中构建它,或者探索其他可能更适合的数据分析框架。

例如。该作业需要递归地列出目录结构/树并处理节点,结合map/reduce模式将路径或文件组映射到派生数据,递归分组/合并这些派生数据。

我正在尝试以一种可以利用并行化整体算法的方式来做到这一点。构建在单个节点(例如 spark master)上运行的解决方案很简单,但假设目录结构非常大,有 O(十亿)个叶节点。

对于在 Spark 或其他框架/数据处理技术中构建递归/迭代类型的数据管道有什么建议吗?

【问题讨论】:

【参考方案1】:

对于 Flink,我会考虑将 Stateful Functions API 用于此类用例。

【讨论】:

以上是关于如何在 Apache Spark 中实现递归算法?的主要内容,如果未能解决你的问题,请参考以下文章

在 Spark GraphX 中实现拓扑排序

如何在 Spark 中实现“交叉连接”?

如何在 spark scala 中实现 uniqueConcatenate、uniqueCount [关闭]

如何在 Spark SQL(PySpark) 中实现自增

如何在 Spark UDAF 中实现 fastutils 映射?

Scala - 如何在 Spark 的 map 函数中实现 Try