Используйте более одного collect_list в одном запросе в Spark SQL
У меня есть следующий датафреймdata
:
root
|-- userId: string
|-- product: string
|-- rating: double
и следующий запрос:
val result = sqlContext.sql("select userId, collect_list(product), collect_list(rating) from data group by userId")
Мой вопрос заключается в том,product
а такжеrating
в агрегированных массивах совпадают друг с другом? То есть лиproduct
иrating
из той же строки имеют одинаковый индекс в агрегированных массивах.
Обновление: начиная с Spark 2.0.0, можно сделатьcollect_list
на тип структуры, чтобы мы могли сделать одинcollect_list
на комбинированной колонне. Но для версии до 2.0.0 можно использовать толькоcollect_list
по примитивному типу.