2016-11-30 3 views
0

2つの列を返すSQLクエリがあります。結果をファイルにマッピングしながら一緒に参加する必要があります。SQLクエリの後の文字列の結合Python

が、私はこの試みた:これはエラーを与えるものではありません

results = sqlContext.sql(query) 

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

を、それはいくつかの理由で実行終了します。

クエリはこれだけの行と1列を返すとき、私はそれが動作するように得ている:

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

にはどうすれば区切り文字'::'を使用して、これらの2つの列を結合するのでしょうか?

+0

使用 'プリント()'の

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

を必要としていました。 – furas

答えて

0

私はそれを理解しました。それは単に括弧が足りないという問題でした。私の代わりに、あなたが変数で、すべての操作の後に持っているかを確認するには

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