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 是在两个表之上创建的两个数据框。
试试吧,看看它是否仍然发生。
所以我有一个奇怪的情况。
每当我 运行 一个带有 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 是在两个表之上创建的两个数据框。
试试吧,看看它是否仍然发生。