我的下面的代码刚刚生成了一个包含列表的RDD,然后通过flatMap将列表转换为项目。但我认为以下类型的愚蠢,我是否必须编写函数listToItem,并且我必须编写函数printStr。请对以下代码进行任何优化。
def listToItem(inputList):
return inputList
def printStr(tm):
print tm
if __name__ == "__main__":
sc = SparkContext(appName="Test Spark")
rdd1 = sc.parallelize([[1,2,3],['a','b','c']])
res = rdd1.flatMap(listToItem).foreach(printStr)
sc.stop()
答案 0 :(得分:0)
对于第一个只使用身份(信用Is there a builtin identity function in python?):
>>> _ = lambda *args: args
>>> rdd1.flatMap(_)
对于第二个导入打印功能:
>>> from __future__ import print_function
和
>>> rdd1.flatMap(_).foreach(print)