Use mais de um collect_list em uma consulta no Spark SQL
Eu tenho o seguinte quadro de dadosdata
:
root
|-- userId: string
|-- product: string
|-- rating: double
e a seguinte consulta:
val result = sqlContext.sql("select userId, collect_list(product), collect_list(rating) from data group by userId")
Minha pergunta é que, fazproduct
erating
nas matrizes agregadas se combinam? Ou seja, se oproduct
e arating
da mesma linha têm o mesmo índice nas matrizes agregadas.
Atualização: A partir do Spark 2.0.0, é possível fazercollect_list
no tipo struct para que possamos fazer umcollect_list
em uma coluna combinada. Mas para a versão pré 2.0.0, só se pode usarcollect_list
no tipo primitivo.