2017-07-18 4 views
0

オカレンス番号を値とするカラムを持つテーブルを作成しようとしています。値によるApache Sparkの数値

すなわち

id name  date 
1  Wendy  2017-01-01 
2  Alex  2017-01-01 
3  Wendy  2017-01-01 
4  Alex  2016-12-31 

私は、特定の日付の名前の発生である列を追加する必要があります。

id name  date   Event 
1  Wendy  2017-01-01 1 
2  Alex  2017-01-01 1 
3  Wendy  2017-01-01 2 
4  Alex  2016-12-31 1 

答えて

0

SQL構文でrow_numberで使用selectExpr

df.selectExpr("id", "name", "date", "row_number() over (partition by name, date order by id) as Event").orderBy("id").show() 

+---+-----+----------+-----+ 
| id| name|  date|Event| 
+---+-----+----------+-----+ 
| 1|Wendy|2017-01-01| 1| 
| 2| Alex|2017-01-01| 1| 
| 3|Wendy|2017-01-01| 2| 
| 4| Alex|2016-12-31| 1| 
+---+-----+----------+-----+ 
関連する問題