我想将数据导出为单独的文本文件;我可以用这个黑客做到这一点:
for r in sqlContext.sql("SELECT DISTINCT FIPS FROM MY_DF").map(lambda r: r.FIPS).collect():
sqlContext.sql("SELECT * FROM MY_DF WHERE FIPS = '%s'" % r).rdd.saveAsTextFile('county_{}'.format(r))
使用Spark 1.3.1/Python
数据框执行此操作的正确方法是什么?我希望在一份工作中完成这项工作,而不是N(或N + 1)工作。
可能是:
saveAsTextFileByKey()
答案 0 :(得分:2)
Spark通常没有多输出的RDD操作。但是对于编写文件,有一个很好的技巧:Write to multiple outputs by key Spark - one Spark job