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"<ind)


对字符串过滤

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)
---------------------
作者:supersalome
来源:CSDN
原文:https://blog.csdn.net/supersalome/article/details/78849581
版权声明:本文为博主原创文章,转载请附上博文链接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章