Spark 1.5.2左外部联接不起作用

时间:2018-08-16 21:11:25

标签: apache-spark

我有两个数据框

  • 具有500列的df1,其中之一是id(StringType),记录数为1000万
  • 具有4列的df2,其中之一是id(StringType),其他3列(例如x,y,z)名称与3列df1(同名,即x,y,z)匹配,其中包含0.2百万条记录

我想进行左联接,因此join df必须具有1000万条记录和500列

  df1.join(df2, "id", "left_outer")

它给我错误 错误:类型不匹配:

  found   : String("id")
  required: org.apache.spark.sql.Column

该怎么办,以及我何时尝试

它给了我org.apache.spark.sql.AnalysisException:字符串类型的联接条件'id'不是布尔值。

该怎么办?

1 个答案:

答案 0 :(得分:0)

您需要提供列引用-如错误消息中所述。您可以通过导入spark.implicits._并使用$id列加上别名来实现:

导入df1.sparkSession.implicits._    df1.join(df2,$“ id”,“ left_outer”)