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!