2017-01-10 11 views
0

큰 그래프 (너무 커서 메모리에 맞출 수 있음)에 RandomWalk가 포함 된 프로젝트 작업 중입니다. 파이썬에서 networkx를 사용하여 코딩했지만 조만간 그래프가 너무 커서 메모리에 적합하지 않게되어 분산 시스템으로 전환해야한다는 것을 알게되었습니다. 그래서, 나는 다음과 이해 :하둡 (Hadoop)의 대형 그래프 처리

    나는 그런 (타이탄, neo4j 등) 스파크에 하둡/graphx에 아파치 Giraph로
  1. 그래프 처리 프레임 워크로 그래프 데이터베이스를 사용해야합니다
  2. . 첫째

, 내가 파이썬 코드를 계속 할 수 있도록 충분한 API는있다, 또는 나는 자바로 전환해야합니까? 둘째

, 나는 내가 랜덤 워크 (random walk) 알고리즘을 구현하기 위해 (Giraph 또는 graphx 중 하나에서) 통과의 내 사용자 정의 함수를 작성하는 방법에 대한 정확한 문서를 찾을 수 없습니다.

+0

파이썬으로 graphx를 작성할 수 있습니다. https://graphframes.github.io/에서 볼 가치가 있습니다. –

답변

0

저의 이해는 파일 시스템에 저장된 큰 그래프를 처리해야한다는 것입니다. Pregel, Pregel +, GraphX, GPS (스탠포드), Mizan, PowerGraph 등 다양한 분산 그래프 처리 프레임 워크가 있습니다.

이러한 프레임 워크를 살펴 보는 것이 좋습니다. 나는 더 나은 효율성을 달성하는 데 도움이 될 수있는 것처럼 C, C++로 openMPI를 사용하여 코딩을 제안 할 것이다.

Java의 프레임 워크는 메모리 효율성이 그리 높지 않습니다. 파이썬에서 이러한 프레임 워크 API에 대해 잘 모르겠습니다.

이러한 프레임 워크를 구현하기로 결정하기 전에 이러한 프레임 워크를 비교 분석하는 블로그와 논문을 살펴 보는 것이 좋습니다.