Spark数据集何时使用Except和Left Anti Join

时间:2018-09-19 19:23:40

标签: apache-spark apache-spark-sql anti-join

我想知道调用((https://spark.apache.org/docs/2.1.0/api/java/org/apache/spark/sql/Dataset.html#except(org.apache.spark.sql.Dataset)和使用左反连接之间是否存在性能差异。到目前为止,我能看到的唯一区别是,使用左反连接,这两个数据集可以有不同的列。

1 个答案:

答案 0 :(得分:0)

您的标题和解释不同。

但是,如果您具有相同的结构,则可以使用这两种方法查找丢失的数据。

  

是强制实施相同结构的特定实现,是减法运算,而

  

左前加入

允许您使用不同的结构,但可以得到相同的结果。

用例不同:1)左反连接可以适用于与丢失数据有关的许多情况-尚无订单的客户(尚未),数据库中的孤立客户。 2)除用于减去事物外,例如机器学习将数据分为测试集和训练集。

性能不应该成为真正的交易破坏因素,因为它们通常是不同的用例,因此很难进行比较。除了将涉及相同的数据源,而LAJ将涉及不同的数据源。