gst*_*lvr 15 scala apache-spark apache-spark-sql
在Scala API中对多个列进行过滤的相关语法是什么?如果我想做这样的事情:
dataFrame.filter($"col01" === "something" && $"col02" === "something else")
Run Code Online (Sandbox Code Playgroud)
要么
dataFrame.filter($"col01" === "something" || $"col02" === "something else")
Run Code Online (Sandbox Code Playgroud)
编辑:
这就是我的原始代码.一切都以字符串形式出现.
df.select($"userID" as "user", $"itemID" as "item", $"quantity" cast("int"), $"price" cast("float"), $"discount" cast ("float"), sqlf.substring($"datetime", 0, 10) as "date", $"group")
.filter($"item" !== "" && $"group" !== "-1")
Run Code Online (Sandbox Code Playgroud)
dhe*_*eee 23
我想我知道问题是什么.出于某种原因,spark不允许两个!='在同一个过滤器中.需要了解如何在Spark源代码中定义过滤器.
现在让您的代码工作,您可以使用它来执行过滤器
df.filter(col("item").notEqual("") && col("group").notEqual("-1"))
Run Code Online (Sandbox Code Playgroud)
或在同一声明中使用两个过滤器
df.filter($"item" !== "").filter($"group" !== "-1").select(....)
Run Code Online (Sandbox Code Playgroud)
此链接在这里可以用不同的火花方法帮助.
| 归档时间: |
|
| 查看次数: |
37080 次 |
| 最近记录: |