6
我有以下的數據幀data
:使用一個以上的collect_list在星火SQL一個查詢
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
。
如何使用'cogroup'作爲大數據集,就像我使用'collect()'時拋出內存異常'rdd1 = rdd2.cogroup(rdd3).collect'。你可以幫助解決這個問題[https://stackoverflow.com/questions/47180307/how-to-use-cogroup-for-large-datasets]。可以分區幫助我是新來的任何幫助來解決這個問題。 – Vignesh