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.

questionAnswers(1)

yourAnswerToTheQuestion