首页 > 解决方案 > sparklyr antijoin 中的近似双重比较

问题描述

我正在尝试对现有sparklyr代码进行微小的更改;这些更改旨在提供相同的结果,只是代码应该更具可读性和效率。因此,我想确保获得相同的结果,这些结果已存储在hive表格中。为此,我使用以下方法将新结果与旧结果进行比较anti_join

diff.sdf <- clean_results.sdf %>% 
  anti_join(new_results.sdf, by = unlist(colnames(clean_results.sdf))) 

我没有得到 100% 的匹配,在查看了细节之后,我怀疑anti-join在双打方面没有发挥应有的作用。似乎它可能会考虑实际上不是的不同值。

可重现的示例(但可能是从 spark 到 R 再返回到 spark 会改变情况):

structure(list(mnt_tot = 37008.16, date_analyse = "2019-01-31"), row.names = c(NA, 
-1L), class = c("tbl_df", "tbl", "data.frame"), .Names = c("mnt_tot", 
"date_analyse"))

structure(list(mnt_tot = 37008.16, date_analyse = "2019-01-31"), row.names = c(NA, 
-1L), class = c("tbl_df", "tbl", "data.frame"), .Names = c("mnt_tot", 
"date_analyse"))

标签: rdplyrsparklyranti-join

解决方案


推荐阅读