如何使用Java在Spark SQL中加入多列以在DataFrame中进行过滤

Gok*_*kul 8 java dataframe apache-spark apache-spark-sql

我试过用

a.join(b,a.col("x").equalTo(b.col("x")) && a.col("y").equalTo(b.col("y"),"inner")
Run Code Online (Sandbox Code Playgroud)

但Java正在抛出错误说&&不允许.

有人可以帮忙吗?谢谢

zer*_*323 22

Spark SQL提供了一组Column标记的方法,java_expr_ops 这些方法是为Java互操作性而设计的.它包括and(另请参见or)可在此处使用的方法:

a.col("x").equalTo(b.col("x")).and(a.col("y").equalTo(b.col("y"))
Run Code Online (Sandbox Code Playgroud)

  • 在列号不固定的情况下,如何使用 java API 动态创建上述条件。因为它可能是 2、4、3、7 或更多.. (2认同)