我想将唯一标识符作为列添加到Dataframe中,其中唯一id考虑:
如果 from
列已分配uid,如果 relationship
列已经分配了唯一的id
例如:
+-------+-------+------------+
| from| to|relationship|
+-------+-------+------------+
| alfa| bravo| cousin|
|charlie| delta| friend|
| alfa|foxtrot| enemy|
| golf| hotel| friend|
| india| juliet| spouse|
| echo|foxtrot| cousin|
| golf| delta| enemy|
+-------+-------+------------+
会导致:
+-------+-------+------------+---------+
| from| to|relationship|unique_id|
+-------+-------+------------+---------+
| alfa| bravo| cousin| 1|
|charlie| delta| friend| 2|
| alfa|foxtrot| enemy| 1|
| golf| hotel| friend| 2|
| india| juliet| spouse| 3|
| echo|foxtrot| cousin| 1|
| golf| delta| enemy| 1|
+-------+-------+------------+---------+
从这个例子中,任何 from
具有alfa的值现在的uid为1,并且 relationship
堂兄的值的uid为1
因此,在第三排 relationship
“敌人”的uid也为1,因此最后一行也显示了uid为1。
所以其他行有 from
“alfa”、“echo”或“golf”的值的uid为1,和/或如果任何关系显示为“cosing”或“敌军”,则uid也为1。
另外,如果下一行是[“golf”,“lima”,partnerse“,1](由于看到了golf,uid将是1),那么之前看到的带有partnerse的行必须更新为uid 1。
有没有办法利用Pypark做到这一点?我在python中使用for循环完成了这项工作,但是当数据集有数十亿行时,它不会伸缩,所以我尝试使用spark集群
暂无答案!
目前还没有任何答案,快来回答吧!