2016-12-03 3 views
4

をpyspark:GroupByKeyと値のリストを作成するには、だから私はのように見える火花データフレーム持っているSQLデータフレーム

a | b | c 
5 | 2 | 1 
5 | 4 | 3 
2 | 4 | 2 
2 | 3 | 7 

そして、私は列によってグループにをしたいが、列Bから値のリストを作成し、 cについて忘れる出力データフレームは次のようになります。

a | b_list 
5 | (2,4) 
2 | (4,3) 

pyspark sqlデータフレームでこれを行う方法はありますか?

ありがとうございました! :)

答えて

9

このDataframeを取得する手順は次のとおりです。

>>> from pyspark.sql import functions as F 
>>> 
>>> d = [{'a': 5, 'b': 2, 'c':1}, {'a': 5, 'b': 4, 'c':3}, {'a': 2, 'b': 4, 'c':2}, {'a': 2, 'b': 3,'c':7}] 
>>> df = spark.createDataFrame(d) 
>>> df.show() 
+---+---+---+ 
| a| b| c| 
+---+---+---+ 
| 5| 2| 1| 
| 5| 4| 3| 
| 2| 4| 2| 
| 2| 3| 7| 
+---+---+---+ 

>>> df1 = df.groupBy('a').agg(F.collect_list("b")) 
>>> df1.show() 
+---+---------------+ 
| a|collect_list(b)| 
+---+---------------+ 
| 5|   [2, 4]| 
| 2|   [4, 3]| 
+---+---------------+ 
+0

ちょうど私が必要なもの!ありがとう。より良いものになるためにいくつかのリソースを提案できますか? – user2253546

+0

私はリソースに関してあなたの質問を得ていませんでした。問題を解決して他の人に役立つように答えを受け入れてください。ありがとう。 – abaghel

+0

@ user2253546あなたはdocを読むことができます。ここhttps://spark.apache.org/docs/1.6.2/api/java/org/apache/spark/sql/functions.html、多くの役に立つSQL関数 –

関連する問題