由于某种原因,我试图在数据框上添加过滤器。 condition在Java中不起作用,它在Scala中完美地工作。该代码甚至无法编译。我们如何使用|| Java中过滤条件的运算符
消息说
The operator || is undefined for the argument type(s) org.apache.spark.sql.Column, org.apache.spark.sql.Column
df.filter((df.col("eventNumbers").contains("2") )|| (df.col("eventNumbers").contains("45")))
答案 0 :(得分:0)
首先,您必须:
import static org.apache.spark.sql.functions.*;
Java中的scala代码为:
df.filter((df.col("eventNumbers").contains("2") ).or(df.col("eventNumbers").contains("45")))
答案 1 :(得分:0)
在Java 8中,您可以使用字符串conditionExpr
进行过滤。
Dataset<Row> df = spark.sqlContext().read()
.option("multiLine", true)
.json(dnsRecordFile)
.filter("type=='A'") // <--- filter by ConditionExpr Str
.select("name", "value");