今天在统计东西时,需要对sparksql.dataframe进行过滤,用到了filter函数,但是当需要过滤多个条件时,查阅网上说可以这样写:
df.filter($"s"===1 || $"ss"=!=2)
但是我在尝试的时候总是报错:
Cannot resolve overload method ‘filter’
我调了两个小时一直都不行,去查源码,spark源码也给出了这样的例子。后来才发现,是隐式转换的问题。
只需要加一句:
import sparksql.implicits._
即可。
在这里把问题贴出来,希望大家都能少走弯路。我用的环境是:spark 2.1.1, scala 2.11.8