«Активность» упоминается в EdgeActiveness.java.В чем смысл «активности» в spark-graphx?
В чем смысл «активности» в spark-graphx?
«Активность» упоминается в EdgeActiveness.java.В чем смысл «активности» в spark-graphx?
В чем смысл «активности» в spark-graphx?
Активность в точности такая же, как кажется. Это относится к определению четырех состояний в зависимости от того, являются ли исходные и целевые вершины активными или inactive. По сути, вершины графа могут деактивировать. Рассмотрим пример для социальных сетей:
Пользователь Facebook может деактивировать свою учетную запись, но мы не обязательно будем удалять их из пользовательского графика. Их отношения по-прежнему предоставляют потенциально полезную информацию для алгоритмов графа. Следовательно, мы можем просто отметить их как неактивные, и любой пользователь, подключенный к этому неактивному пользователю, сделает это через край с EdgeActiveness
Either
, SrcOnly
, DstOnly
или Neither
, в зависимости от активного состояния другого пользователя.
Ниже упоминаются в публикации From "Think like a Vertex" to "Think like a Graph"
Вершина несет в себе два состояния: активное и неактивное. В начале все вершины активны. Вершина может добровольно деактивировать себя, вызвав функцию voteToHalt() или пассивно активировать некоторые входящие сообщения из других версий. Общая программа завершается, если каждая вершина неактивна.
Apache Spark использует ПРЕГЕЛЬ API из Graphx, Vertex активности в Прегеле контролируется сообщениями: если вершина не получить сообщение в предыдущей итерации, его вершинная программа не будет работать в текущем итерация. Кроме того, неактивные вершины не смогут отправлять сообщения , потому что по умолчанию функция sendMsg будет выполняться только на ребрах , где по крайней мере одна из смежных вершин получила сообщение.