Pyspark: preenchimento para frente com última observação para um DataFrame
Usando o Spark 1.5.1,
Eu tenho tentado encaminhar preenchimentovalores nulos com a última observação conhecida parauma coluna do meu DataFrame.
É possível começar com um valor nulo e, nesse caso, eu preencheria esse valor nulo com a primeira observação de known. No entanto, se isso também complica o código, este ponto pode ser ignorado.
Nissopostar, uma solução em Scala foi fornecida para um problema muito semelhante porzero323.
Mas não conheço o Scala e não consigo '' traduzi-lo '' no código da API do Pyspark. É possível fazer isso com o Pyspark?
Obrigado pela ajuda.
Abaixo, um exemplo simples de entrada de exemplo:
| cookie_ID | Time | User_ID
| ------------- | -------- |-------------
| 1 | 2015-12-01 | null
| 1 | 2015-12-02 | U1
| 1 | 2015-12-03 | U1
| 1 | 2015-12-04 | null
| 1 | 2015-12-05 | null
| 1 | 2015-12-06 | U2
| 1 | 2015-12-,07 | null
| 1 | 2015-12-08 | U1
| 1 | 2015-12-09 | null
| 2 | 2015-12-03 | null
| 2 | 2015-12-04 | U3
| 2 | 2015-12-05 | null
| 2 | 2015-12-06 | U4
E a saída esperada:
| cookie_ID | Time | User_ID
| ------------- | -------- |-------------
| 1 | 2015-12-01 | U1
| 1 | 2015-12-02 | U1
| 1 | 2015-12-03 | U1
| 1 | 2015-12-04 | U1
| 1 | 2015-12-05 | U1
| 1 | 2015-12-06 | U2
| 1 | 2015-12-07 | U2
| 1 | 2015-12-08 | U1
| 1 | 2015-12-09 | U1
| 2 | 2015-12-03 | U3
| 2 | 2015-12-04 | U3
| 2 | 2015-12-05 | U3
| 2 | 2015-12-06 | U4