如何在pyspark dataframe范围内构建段链

如何在pyspark dataframe范围内构建段链,pyspark,Pyspark,我有一个巨大的pyspark数据帧,其中包含段及其子段,如下所示: SegmentId SubSegmentStart SubSegmentEnd 1 a1 a2 1 a2 a3 2 b1 b2 3 c1 c2 3 c3 c4 3

我有一个巨大的pyspark数据帧,其中包含段及其子段,如下所示:

SegmentId  SubSegmentStart SubSegmentEnd
   1         a1               a2
   1         a2               a3
   2         b1               b2
   3         c1               c2
   3         c3               c4
   3         c2               c3
我需要按段ID对记录进行分组,并添加新的列索引,以使用起点和终点构建子段链。我需要为每一部分做这件事。 因此,我需要获得以下数据帧:

SegmentId  SubSegmentStart SubSegmentEnd  Index
       1         a1               a2        0
       1         a2               a3        1
       2         b1               b2        0
       3         c1               c2        0
       3         c3               c4        2
       3         c2               c3        1
我怎么能用Pypark做呢