【发布时间】:2021-11-23 17:18:53
【问题描述】:
我想向 myDF 添加一个版本列,其中放置我的 Hash 列的版本。我的DF:
Hash Code P1 P2 P3 P4 P5... Pn
x-x-1-x-x A x x 1 x x
x-1-x-x-x A x 1 x x x
5-x-1-x-x A 5 x 1 x x
x-x-1-x-2 A x x 1 x 2
x-x-1-x-x A x x 1 x x
x-x-x-7-x A x x x 7 x
5-x-1-x-x A 5 x 1 x x
我需要:
Version Hash Code P1 P2 P3 P4 P5... Pn
1 x-x-1-x-x A x x 1 x x
2 x-1-x-x-x A x 1 x x x
3 5-x-1-x-x A 5 x 1 x x
4 x-x-1-x-2 A x x 1 x 2
1 x-x-1-x-x A x x 1 x x
6 x-x-x-7-x A x x x 7 x
3 5-x-1-x-x A 5 x 1 x x
我正在使用 PySpark,不知道是否存在可以帮助我的方法。
编辑: 我需要的版本列应该考虑哈希列。流程应该是:
读取Hash值,是否存在于前行?然后放入之前分配的版本值。 版本值就像一个 ID,可以重复哈希,如果是,我需要知道该版本并放入我正在阅读的那一行。除非我需要创建一个新版本(id)最后一个值版本 +1。
【问题讨论】:
-
包含有关如何计算版本列的说明,以便社区可以帮助您。
-
@snithish 你是对的,我没有解释得很好。我希望现在可以理解了:)
-
如果数据集被洗牌,带有哈希
x-x-1-x-x的行第一次出现在第 4 行,它仍然有版本 1 吗?如果是,那么编号的依据是什么? -
哈希列它创建的连接其余列(P1、P2、P3、... Pn)。它们是参数列,我创建了哈希列,我想要有版本并识别是否有哈希,之前出现的参数配置。