2016-11-30 57 views
0

我有一个SQL查询返回两列。我需要将这些结果映射到文件中。SQL查询后加入字符串python

我尝试这样的:

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]) 

我怎么会加入使用的分隔符'::'这两列?

+0

使用'印刷()'来看看你有变量,每次操作后。 – furas

回答

0

我想通了。这只是一个没有足够括号的问题。我需要

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]))