Apache spark Spark SQL“<=&燃气轮机&引用;操作人员

Apache spark Spark SQL“<=&燃气轮机&引用;操作人员,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我最近在一个Scala Spark项目中遇到了这个操作符:“”。 我很难找到关于它的任何文档。有人知道它是如何工作的,或者知道一些文档吗 我相信这与平等行动有关 谢谢 观察1(2020年12月2日)| Spark 2.3.2 我做了一些实验,并注意到使用“”对同一位置的数据执行联接会导致混乱,而“==”不会。请查看《Spark SQL编程指南》中的“受支持的配置单元功能”部分,您将在Spark支持的配置单元操作符列表中找到它 它的作用如下: 对于非空操作数,使用相等(=)运算符返回相同的结果

我最近在一个Scala Spark项目中遇到了这个操作符:“”。 我很难找到关于它的任何文档。有人知道它是如何工作的,或者知道一些文档吗

我相信这与平等行动有关

谢谢

观察1(2020年12月2日)| Spark 2.3.2 我做了一些实验,并注意到使用“”对同一位置的数据执行联接会导致混乱,而“==”不会。请查看《Spark SQL编程指南》中的“受支持的配置单元功能”部分,您将在Spark支持的配置单元操作符列表中找到它

它的作用如下:

  • 对于非空操作数,使用相等(=)运算符返回相同的结果
然而:

  • 如果两者都为NULL,则返回TRUE

  • 如果其中一个为NULL,则返回FALSE


在连接条件下执行此操作。我使用了它,但spark抛出了一个错误

spark.sql('''
select tp1.* from tp1 left join tp2 where tp1.user_id_num <=> tp2.user_id_num''').show()

org.apache.spark.sql.AnalysisException: Detected implicit cartesian product for LEFT OUTER join between logical plans