【发布时间】:2015-11-14 04:41:21
【问题描述】:
火花 1.4.1
我遇到一种情况,即按数据框分组,然后对“计数”列进行计数和过滤会引发以下异常
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()
那么,这是预期的行为、错误还是有规范的解决方法?
谢谢,亚历克斯
【问题讨论】:
标签: scala apache-spark apache-spark-sql