3
我正在使用Spark 1.5.0。我有以下的列火花數據幀:火花數據幀分組,排序和選擇一組列的頂部行
| user_id | description | fName | weight |
我想要做的是選擇前10名和後10行(根據列加權的值,這是數據類型雙)每用戶。我如何使用SparkSQL或數據框操作來做到這一點?
例如。爲了簡單起見,我只選擇每個用戶的前2行(基於重量)。我想對絕對重量的值進行分類。
u1 desc1 f1 -0.20
u1 desc1 f1 +0.20
u2 desc1 f1 0.80
u2 desc1 f1 -0.60
u1 desc1 f1 1.10
u1 desc1 f1 6.40
u2 desc1 f1 0.05
u1 desc1 f1 -3.20
u2 desc1 f1 0.50
u2 desc1 f1 -0.70
u2 desc1 f1 -0.80
這裏是希望的O/P:
u1 desc1 f1 6.40
u1 desc1 f1 -3.20
u1 desc1 f1 1.10
u1 desc1 f1 -0.20
u2 desc1 f1 0.80
u2 desc1 f1 -0.80
u2 desc1 f1 -0.70
u2 desc1 f1 0.50
我認爲row_number不包含在Spark 1.5中。我得到這個錯誤:scala> import org.apache.spark.sql.functions.row_number:29:error:value row_number is not a member of org.apache.spark.sql.functions import org.apache.spark .sql.functions.row_number –
user3803714
你說得對,但即使函數名稱不同('rowNumber'),解決方案也是一樣的。 – zero323
單獨計算的行號與數據集df記錄相關聯的方式如何? –