There are four partitioning strategies in GraphX:
- random hash
- edge1D (src or dst)
- edgePartition2D
Besides, we also implemented:
- DBH (Degree-Based Hashing)
- balanced label propagation from Facebook (http://stanford.edu/~jugander/papers/wsdm13-blp.pdf and https://code.facebook.com/posts/274771932683700/large-scale-graph-partitioning-with-apache-giraph/)
- Bounded and Balanced Partitioner (two stages, edges belongs to vertex partition that has larger degree, and a re-balanced partitioner, details later. )