206
9가지 사례로 익히는 고급 스파크 분석 (2판)
7.6
네트워크의 구조 이해하기
테이블의 내용을 조사할 때, 데이터 구조에 대한 감을 잡거나 어떤 문제 영역을 조사하는 데 필
요한 요약 통계들이 있다. 비록 관심을 끄는 통계 항목에는 조금 차이가 있겠지만, 새로운 그
래프를 조사할 때도 마찬가지일 것이다.
Graph
클래스는 이런 통계량들을 계산하는 메서드를
기본 제공한다. 이를 스파크
RDD
API
와 함께 사용하면 그래프 구조에 대한 감을 재빠르게 얻
을 수 있어 앞으로의 조사 방향을 잡는 데 참고할 수 있다.
7.6.1
연결 성분
그래프에 대해서 알아야 할 가장 기본적인 사항 하나는 그래프가 연결되어 있는지다. 연결 그
래프
Connected
Graph
에서는 모든 꼭짓점에서 다른 모든 꼭짓점에 도달할 수 있다. 이때 하나의 꼭
짓점에서 다른 꼭짓점으로 이어지는 일련의 변을
경로
Path
라 한다. 만약 연결되어 있지 않다면
그 그래프는 더 작은 연결 부분그래프
Connected
Subgraph
로 나뉠 것이며, 각각을 별개로 조사할 수
있다.
연결성
Connectedness
은 그래프의 기본 속성이므로 그래프엑스도 당연히 그래프의 연결 성분을 식
별하는 메서드를 제공한다. 그래프에서
connectedComponents
메서드를 호출하면 몇 개의
스파크 잡이 시작되며, 최종 계산 결과를 확인할 수 있다.
val connectedComponentGraph = topicGraph.connectedComponents()
connectedComponents ...