我正在寻找具有以下签名的函数:
bind[A, B](f: A => Dataset[B], ds: Dataset[A]): Dataset[A]
spark库里有这种东西吗? (不幸的是
flatMap
需要从 A
到 TraversableOnce[B]
的映射,这意味着我必须具体化我的数据集,除非我遗漏了什么)。如果没有,人们将如何实现这样的功能?
最佳答案
RDD
不是单子(monad)。RDD
对象仅对驱动程序有意义,而 map/flatmap
函数在工作人员上执行。所以你不能在 map/flatmap 操作中发出 RDD
s。Dataset
是 RDD
的一个外观,所以我想这也是不可能的。
关于scala - Spark 数据集的正确 monadic flatMap 操作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50003379/