spark scala 对dataframe进行过滤----filter方法使用

val df = sc.parallelize(Seq(("a", 1), ("a", 2), ("b", 2), ("b", 3), ("c", 1))).toDF("id", "num")
对整数类型过滤
逻辑运算符:>, <, ===
df.filter($"num"===2)
df.filter($"num">2)
df.filter($"num"<2)

或者
df.filter("num=2")
df.filter("num>2")
df.filter("num<2")

传递参数过滤
val ind:Int=2;
df.filter($"num"===ind)
df.filter($"num">ind)
df.filter($"num"


对字符串过滤

df.filter($"id".equalTo("a"))

传递参数过滤

val str = s"a"

df.filter($"id"equalTo(str))


当dataframe没有字段名时,可以用默认的字段名[_1, _2, .....]来进行判断

多条件判断

逻辑连接符 &&(并)、||(或)

df.filter($"num"===2 && $"id".equalTo("a")

df.filter($"num"===1 || $"num"===3)
 

你可能感兴趣的:(spark,Hadoop相关)