数据库
首页 > 数据库> > 如何使用Java在Spark SQL中加入多个列以在DataFrame中进行过滤

如何使用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