我有以下代码。 df3是使用以下代码创建的。我想获取distance_n的最小值以及包含该最小值的整个行。
//it give just the min value , but i want entire row containing that min value
为了获取整行,我将此df3转换为用于执行spark.sql的表
如果我喜欢这样 spark.sql(“从table1中选择纬度,经度,速度,最小值(距离_n)”)。show()
如果 spark.sql(“从table180中选择纬度,经度,速度,最小值(距离_nd)”)。show()
//通过将distance_n替换为distance_nd会引发错误
如何解决此问题以获得与最小值对应的整行
答案 0 :(得分:1)
在使用自定义UDF之前,您必须在spark的sql上下文中注册它。
例如:
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