在SQL查询之后加入python



我有一个返回两个列的SQL查询。我需要在将结果映射到文件的同时加入其中。

我尝试了这个:

results = sqlContext.sql(query)
results.map(lambda p: ('::'.join(str(p.title),str(p.genres))).repartition(10).saveAsTextFile(sys.argv[2]))

这没有错误,它只是出于某种原因退出执行。

当查询仅返回一行时,我已经让它工作了:

results.map(lambda p: str(p.title)).repartition(10).saveAsTextFile(sys.argv[2])

我将如何使用定界线'::'加入这两列?

我弄清楚了。这只是一个不足的括号的问题。我需要

results.map(lambda p: '::'.join(str(p.title), str(p.genres))).repartition(10).saveAsTextFile(sys.argv[2])

而不是

results.map(lambda p: ('::'.join(str(p.title),str(p.genres))).repartition(10).saveAsTextFile(sys.argv[2]))

相关内容

  • 没有找到相关文章