[英]In Spark Window functions, Why we need to use drop() at the end
我是Spark窗口功能的新手。 我正在实施一些示例以了解更多信息。 看下面的例子。 它与withColumn()一起使用drop()。 我也搜索了很多Spark文档,但无法理解它的重要性。
//Get the top record in each subject with the highest fee
val wSpec = Window.partitionBy($"Subject").orderBy($"Fee".desc)
val dfTop = input.withColumn("rn", row_number.over(wSpec)).where($"rn"===1).drop("rn") //Note: 'input' has my data
dfTop.show()
有人可以解释drop()的重要性吗? 如果我不使用drop()怎么办?
谢谢。
为什么我们需要在末尾使用drop()
我们没有。 我们这样做是为了删除不再携带有用信息的临时对象。
如果我不使用drop()怎么办?
您将再有一个专栏,里面满满的,仅此而已。
drop()用于删除不需要的列,没有多大意义。
您可以通过以下方式自己查看:
//Commenting drop()
val dfTop = input.withColumn("rn", row_number.over(wSpec)).where($"rn"===1) //.drop("rn") //Note: 'input' has my data
dfTop.show()
dfTop.drop("rn").show()
//"rn" column is gone
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.