Use más de una collect_list en una consulta en Spark SQL

Tengo el siguiente marco de datosdata:

root
 |-- userId: string 
 |-- product: string 
 |-- rating: double

y la siguiente consulta:

val result = sqlContext.sql("select userId, collect_list(product), collect_list(rating) from data group by userId")

Mi pregunta es queproduct yrating en las matrices agregadas coinciden entre sí? Es decir, si elproduct y elrating desde la misma fila tienen el mismo índice en las matrices agregadas.

Actualización: a partir de Spark 2.0.0, se puede hacercollect_list en el tipo de estructura para que podamos hacer unocollect_list en una columna combinada Pero para la versión pre 2.0.0, solo se puede usarcollect_list en tipo primitivo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta