我想知道调用((https://spark.apache.org/docs/2.1.0/api/java/org/apache/spark/sql/Dataset.html#except(org.apache.spark.sql.Dataset)和使用左反连接之间是否存在性能差异。到目前为止,我能看到的唯一区别是,使用左反连接,这两个数据集可以有不同的列。
答案 0 :(得分:0)
您的标题和解释不同。
但是,如果您具有相同的结构,则可以使用这两种方法查找丢失的数据。
除
是强制实施相同结构的特定实现,是减法运算,而
左前加入
允许您使用不同的结构,但可以得到相同的结果。
用例不同:1)左反连接可以适用于与丢失数据有关的许多情况-尚无订单的客户(尚未),数据库中的孤立客户。 2)除用于减去事物外,例如机器学习将数据分为测试集和训练集。
性能不应该成为真正的交易破坏因素,因为它们通常是不同的用例,因此很难进行比较。除了将涉及相同的数据源,而LAJ将涉及不同的数据源。