1 - В чем разница между использованием shorttestPathVertexProgram и выполнением чего-то вроде "gV (1) .repeat (out (). SimplePath ()). Till (hasId (5)). Path (). Limit (1).) "с использованием TraversalVertexProgram.
Это сводится к более общему вопросу: стоит ли реализовывать распараллеленный алгоритм (если это вообще возможно) и реализовывать его по-прегелевски, используя низкий примитив передачи сообщений, как это видно из кодаthe shorttestPath vertexProgram , или лучше просто написать его как обход и выполнить его как параллельный обход?В чем разница между двумя подходами?
Моя интуиция заключается в том, что первый будет быстрее, но кажется, что API VertexProgram сложен, не документирован, и в нем нет такого руководства, как в GraphX Pregel API.