如何使用Java在Spark SQL中加入多列以在DataFrame中进行过滤
-
DataFrame a
=包含列x,y,z,k -
DataFrame b
=包含列x,y,aa.join(b,) ???
我试过用
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"))
- 如果在SparkAction中使用PySpark,Oozie作业将无法运行
- 如何使用Hive支持创建SparkSession(未找到“Hive类”)?
- 如何在spark数据框中展平结构?
- 将JavaRDD转换为DataFrame时出现Spark错误:java.util.Arrays $ ArrayList不是数组模式的有效外部类型
- Bluemix Spark与Java
- 类型不匹配:无法从Java Spark中的Iterator 转换
- Spark 2.0.1写入错误:引起:java.util.NoSuchElementException
- 如何使用JAVA在Spark DataFrame上调用UDF?
- 如何使用spark处理一系列hbase行?