Ruifeng Zheng created SPARK-60835:
-------------------------------------

             Summary: Break label propagation ties with the lowest label
                 Key: SPARK-60835
                 URL: https://issues.apache.org/jira/browse/SPARK-60835
             Project: Spark
          Issue Type: Improvement
          Components: GraphX
    Affects Versions: 5.0.0
            Reporter: Ruifeng Zheng


GraphX label propagation currently resolves equally frequent labels by 
selecting the highest label, following SPARK-42856. GraphFrames instead selects 
the lowest label to follow the LDBC label propagation specification; Spark 
SQL's deterministic mode aggregate also selects the lowest tied value.

Select the lowest label among the labels with maximum frequency. Keep frequency 
as the primary criterion and handle the full signed VertexId range without 
negating vertex IDs.

For example, if vertex 0 receives labels 1 and 2 once each, select label 1 
instead of label 2. Add regression coverage for positive labels, negative 
labels, Long.MinValue/Long.MaxValue, and frequency priority.

Review discussion: 
https://github.com/apache/spark/pull/60026#issuecomment-6592081340
Related test-only follow-up: https://github.com/apache/spark/pull/60026




--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to