我有一个计算内容并返回元组列表的函数,它看起来像这样:
def check():
[...]
return [("valid": 1, "wrong": 4, "lines":["line1","line2"])]
然后我想将所有这些值加在一起以得到最终计数
rdd = lines.mapPartitions(lambda x: check()).reduceByKey(lambda a,b: a+b)
结果类似于
[(“ valid”:102),(“ wrong”:322),(“ lines”:[“ test1”,“ test2”, “ test2”]))
我的目标是能够在一个(或多个)文件中写入“行”元组,并在一个单独的文件中写入有效和错误的计数。
我的问题是:目前使用的数据是否有更好的数据结构?如果没有,如何在列表中搜索“行”元组?
也许更好,是否有可能将RDD转换为我可以对其进行SQL选择的数据框?
我尝试了rdd.toDF().show()
,但是由于某些原因,“行”的值列变成了null