火花1.4.1數據幀:如何GROUPBY /計數然後計數過濾Scala中
我遇到的情況下由數據幀分組,然後在「計數」列計數和濾波引起下面
異常import sqlContext.implicits._
import org.apache.spark.sql._
case class Paf(x:Int)
val myData = Seq(Paf(2), Paf(1), Paf(2))
val df = sc.parallelize(myData, 2).toDF()
然後分組和過濾:
df.groupBy("x").count()
.filter("count >= 2")
.show()
拋出異常:
java.lang.RuntimeException: [1.7] failure: ``('' expected but `>=' found count >= 2
解決方案:
重命名列使問題消失(因爲我懷疑是內插「計數」功能」
df.groupBy("x").count()
.withColumnRenamed("count", "n")
.filter("n >= 2")
.show()
所以沒有衝突,是一個行爲的期望,一個錯誤還是有一個規範的方式去?
感謝,亞歷克斯