Spark e SparkSQL: Como imitar a função de janela?

Descrição

Dado um quadro de dadosdf

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

Eu quero criar um contador ou índice em execução,

agrupados pelo mesmo id eclassificados por data nesse grupo,

portanto

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

Isso é algo que posso obter com a função de janela, por exemplo

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

Infelizmente, o Spark 1.4.1 não suporta funções de janela para quadros de dados regulares:

org.apache.spark.sql.AnalysisException: Could not resolve window function 'row_number'. Note that, using window functions currently requires a HiveContext;
QuestõesComo posso obter o cálculo acima no Spark 1.4.1 atual sem usar as funções da janela?Quando as funções de janela para quadros de dados regulares serão suportadas no Spark?

Obrigado!

questionAnswers(3)

yourAnswerToTheQuestion