Как получить строку, соответствующую минимальному значению некоторого столбца в фрейме данных Scala Spark

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

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

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

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

// выдает ошибку

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

// заменив distance_n на distance_nd, он выдаст ошибку

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

1 ответ

Прежде чем использовать пользовательский 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

Другие вопросы по тегам