как получить строку, соответствующую минимальному значению некоторого столбца в фрейме данных Scala Spark - PullRequest
0 голосов
/ 08 октября 2018

У меня есть следующий код.df3 создается с использованием следующего кода. Я хочу получить минимальное значение distance_n, а также всю строку, содержащую это минимальное значение.

enter image description here

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

enter image description here

для получения всей строки, я преобразовал этот df3 в таблицу для выполнения spark.sql

, если мне нравится этот spark.sql ("selectширота, долгота, скорость, мин (расстояние_n) от таблицы 1 "). show ()

// выдает ошибку enter image description here

и если spark.sql ("выберите широту, долготу, скорость, мин. (range_nd) из таблицы 180"). show ()

//, заменив distance_n на distance_nd, при этом выдается ошибка

enter image description here

как решить эту проблему, чтобы получить всю строку, соответствующую минимальному значению

1 Ответ

0 голосов
/ 08 октября 2018

Прежде чем использовать пользовательский UDF, вы должны зарегистрировать его в sql Context для spark.

например:

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

После регистрации UDF вы можете получить к нему доступ в своем искре sql как

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

Ссылка: https://docs.databricks.com/spark/latest/spark-sql/udf-scala.html

...