如何使用Java在Spark SQL中加入多个列以在DataFrame中进行过滤
作者:互联网
> DataFrame a =包含列x,y,z,k
> DataFrame b =包含列x,y,a
a.join(b,<condition to use in java to use x,y >) ???
我试过用
a.join(b,a.col("x").equalTo(b.col("x")) && a.col("y").equalTo(b.col("y"),"inner")
但Java正在抛出错误说&&不被允许.
解决方法:
Spark SQL在Column上提供了一组标记为java_expr_ops的方法,这些方法专为Java互操作性而设计.它包括and
(参见or
)方法,可在此处使用:
a.col("x").equalTo(b.col("x")).and(a.col("y").equalTo(b.col("y"))
标签:java,apache-spark,dataframe,apache-spark-sql 来源: https://codeday.me/bug/20190930/1837010.html