Apache Spark SQL:自动内部连接?

Apache Spark SQL: Automatic Inner Join?

所以我有一个奇怪的情况。

每当我 运行 一个带有 inner join 语句的 sqlContext.sql 时,我实际上得到了一个错误,但是当我读取错误时,看起来 Spark 已经自动加入了我的两个独立的一旦它尝试执行 on 语句。

表一: patient_id,代码

表二: patient_id,日期

Select code, date
from Table1
inner join Table2
on Table1.patient_id = Table2.patient_id <- exception shows the table is joined already by this point.

关于这种行为有什么想法吗?

错误看起来像这样

org.apache.spark.sql.AnalysisException: cannot resolve 'Table2.patient_id' given input columns [patient_id, code, date]

我认为你的程序有错别字。

但是,您可以执行以下操作:

tableOneDF.join(tableTwoDF, tableOneDF("patient_id") === tableTwoDF("patient_id"), "inner").select("code", "date") 

而 tableOneDF 和 tableTwoDF 是在两个表之上创建的两个数据框。

试试吧,看看它是否仍然发生。