Spark und SparkSQL: Wie kann man die Fensterfunktion imitieren?

Beschreibun

Gab einen Datenrahmendf

id |       date
---------------
 1 | 2015-09-01
 2 | 2015-09-01
 1 | 2015-09-03
 1 | 2015-09-04
 2 | 2015-09-04

Ich möchte einen laufenden Zähler oder Index erstellen,

gruppiert mit der gleichen ID undsortiert nach Datum in dieser Gruppe,

somi

id |       date |  counter
--------------------------
 1 | 2015-09-01 |        1
 1 | 2015-09-03 |        2
 1 | 2015-09-04 |        3
 2 | 2015-09-01 |        1
 2 | 2015-09-04 |        2

Dies kann ich mit der Fensterfunktion erreichen,

val w = Window.partitionBy("id").orderBy("date")
val resultDF = df.select( df("id"), rowNumber().over(w) )

Leider unterstützt Spark 1.4.1 keine Fensterfunktionen für reguläre Datenrahmen:

org.apache.spark.sql.AnalysisException: Could not resolve window function 'row_number'. Note that, using window functions currently requires a HiveContext;
FrageWie kann ich die obige Berechnung mit dem aktuellen Spark 1.4.1 ohne Verwendung von Fensterfunktionen durchführen?Wann werden in Spark Fensterfunktionen für reguläre Datenrahmen unterstützt?

Vielen Dank

Antworten auf die Frage(6)

Ihre Antwort auf die Frage