Computer2014. 6. 13. 17:51

xml 포맷의 위키피디아 페이지를 갖고 페이지랭크를 계산한다. 20회 iteration 후 top 300 rankers를 뽑아낸다.

과제에서 주어진 데이터가 well-formed xml이 아니라서 약간 짜증이 났었다.


xml unmarshalling에 SAX 파서를, 위키 텍스트에서 링크를 뽑아내는 데 Mylyn Wikitext 파서를 사용했다.

위키텍스트 파서가 하도 무거워서 위키피디아 데이터를 읽는 시간이 제일 오래 걸린다. 수업을 같이 듣는 횽아들은 String.substring으로 위키텍스트 파서를 손수(...) 짜서 상당히 빠르다고 알고있지만, 난 그런 거 하기 싫어서 가져다 썼음. 하하..


과제 마감일이 다가오고 보고서도 써놓지 않은 상황에서 입력 데이터가 하도 더러워서 EMR 클러스터는 자꾸 뻗고... 예외 처리 코드만 늘어나고.. 이래저래 더러운 코드가 되어버렸다.


Hadoop 버전

https://github.com/hsyhsw/PageRank


PigLatin 버전

https://github.com/hsyhsw/PageRank-Pig


하둡 버전은 AWS에서 결과가 잘 나오는 것을 확인했다.

피그라틴 버전은 AWS 계정에 문제가 생기는 바람에 클러스터 환경에선 테스트를 할 수가 없었다. 그래서 로컬에서만 돌아간다.(아마도?)

두 버전 공히 잡다한 버그들이 있지만 알 게 뭐야..


입력 파일 형식은 두 버전 모두 피그라틴 버전의 input/inputTest.txt에 보이는 것과 동일하다.


'Computer' 카테고리의 다른 글

Iterative PageRank algorithm implementation  (0) 2014.06.13
Posted by Adward

댓글을 달아 주세요