spark函数中approxcountdsitinct和approx\u count\u distinct之间的差异

wpx232ag  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(384)

有人能分辨出 pyspark.sql.functions.approxCountDistinct (我知道这是不赞成的)和 pyspark.sql.functions.approx_count_distinct ? 我在一个项目中使用了这两个版本,并经历了不同的价值观

fv2wmkja

fv2wmkja1#

如你所说, pyspark.sql.functions.approxCountDistinct 已弃用。原因很可能只是风格问题。他们可能想把所有东西都放在蛇箱里。正如您在源代码中看到的 pyspark.sql.functions.approxCountDistinct 只是打电话而已 pyspark.sql.functions.approx_count_distinct ,除了给你一个警告。所以不管你用哪一个,最终都会运行相同的代码。
而且,根据源代码, approx_count_distinct 基于hyperloglog++算法。我不是很熟悉的算法,但它是基于重复集合并。因此,结果很可能取决于合并执行者的各种结果的顺序。由于这对于spark来说是不确定的,所以这可以解释为什么你会看到不同的结果。

相关问题