我有一个用于转换JSON的CLI应用程序。它的大部分代码都是map
ping,flatMap
ping并遍历for
JValues列表。现在我想将此应用程序移植到Spark,但似乎我需要重写所有函数1:1,但是写RDD[JValue]
而不是List[JValue]
。
是否有任何方法(如类型类)可以接受列表和RDD的函数。
答案 0 :(得分:2)
如果您想共享代码以处理本地和&抽象代码,您可以将传递给map
/ flatMap
的lambdas / anaonymous函数移动到命名函数中并重新使用它们。
如果您想重新使用逻辑来订购maps / flatMaps / etc,您还可以在RDD
和Seq
之间创建隐式转换到自定义特征共享函数,但隐式转换可能会变得非常混乱,我不认为这是一个好主意(但如果你不同意我,你可以做):)。