簡體   English   中英

如何在spark scala數據框中獲取與某列的最小值相對應的行

[英]how to get the row corresponding to the minimum value of some column in spark scala dataframe

我有以下代碼。 df3 是使用以下代碼創建的。我想獲得 distance_n 的最小值以及包含該最小值的整行。

在此處輸入圖片說明

 //it give just the min value , but i want entire row containing that min value

在此處輸入圖片說明

為了獲取整行,我將此 df3 轉換為表以執行 spark.sql

如果我喜歡這個 spark.sql("select latitude,longitude,speed,min(distance_n) from table1").show()

//它拋出錯誤在此處輸入圖片說明

如果 spark.sql("select latitude,longitude,speed,min(distance_nd) from table180").show()

// 通過用 distance_nd 替換 distance_n 會拋出錯誤

在此處輸入圖片說明

如何解決這個問題以獲得對應於最小值的整行

在使用自定義 UDF 之前,您必須在 spark 的 sql Context 中注冊它。

例如:

spark.sqlContext.udf.register("strLen", (s: String) => s.length())

注冊UDF后,您可以在spark sql中訪問它,例如

spark.sql("select strLen(some_col) from some_table")

參考: https : //docs.databricks.com/spark/latest/spark-sql/udf-scala.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM