2017-08-07 3 views
0

私は形でNx3スパークデータフレームをNxNマトリックスに変換するには、3列目のデータフレームが行列の値ですか?

id | day |value 
-----| ----- | ----- 
101 | 1  | 34 
101 | 2  |26 
102 | 2  |43 
102 | 1  |12 

をスパークデータフレームを持って、私はacast機能が正確に同じことをしたreshape2パッケージであり、Rではこの

 1 | 2 
--------------- 
101 | 34 | 26 
102 | 12 | 43 

のような行列に変換したいですつまり、3列のデータフレームをとり、それを行列に変換します。私はspark scalaで同じことをしたい。

私は、Zeppelin 0.7.2インターフェースでspark 2.1を使用しています。

+1

として出力を持つ必要があります** df.groupBy( '​​ID')。ピボット( '日')** pysparkで –

答えて

0

import org.apache.spark.sql.functions._ 
df.orderBy("day").groupBy("id").pivot("day").agg(first("value")) 

を行う必要がありますデータフレーム

+---+---+-----+ 
|id |day|value| 
+---+---+-----+ 
|101|1 |34 | 
|101|2 |26 | 
|102|2 |43 | 
|102|1 |12 | 
+---+---+-----+ 

考えるあなたは

+---+---+---+ 
|id |1 |2 | 
+---+---+---+ 
|101|34 |26 | 
|102|12 |43 | 
+---+---+---+ 
関連する問題