Проблема с хранением графика непосредственно в HDFS заключается в том, что у вас нет средств для случайного чтения данных. Поэтому, чтобы найти всех соседей узла, вам нужно обработать весь список ребер в HDFS, чтобы найти узлы, которые к нему подключены.
Таким образом, чтобы выполнить расчет коэффициента кластеризации, вам нужно будет дважды передать все данные. Первый раз найти узлы, которые подключены к начальному узлу. Второй раз выяснить, как эти узлы связаны друг с другом.
Каждый раз, когда вы хотите выйти на другой уровень в вашем графике, вам нужно будет обработать весь график, чтобы найти новые соединения.
Это легко сделать, да, это так. Это время эффективно? Это действительно зависит от того, насколько быстро вы захотите рассчитывать такие вещи, как LCC, и насколько велик ваш график. Это не будет близко к реальному времени.
Другой подход заключается в использовании HBase для хранения ваших ребер каким-либо образом, это даст вам произвольный доступ к узлам, все еще параллельным. Ведь HBase является частью hadoop.
Что-то, что может представлять интерес, если вы хотите хранить большие графы в параллельном режиме, может быть FlockDB . Это распределенная графовая база данных, недавно выпущенная Twitter. Я не использовал это, но это могло бы стоить посмотреть.