한 2일 코딩했다.
뭐 함수형 언어 써보신 분은 알겠지만 그리 막코딩을 할수 있는 문법을 가진놈이 아니기에 디자인 하루하고 구현을 한 이틀 했다.
막상 구현 다 하고 테스트 다하고, Map/Reduce 부터 설명을 할라니 갈길이 멀다.
사실 구현했던게 Erlang으로 그저 멀티코어 기반 Map/Reduce를 구현하는거면 조금 간단했을텐데 그런 예제는 책에도 있고 인터넷에도 좋은게 있고 해서 hadoop같은 다수의 PC를 묶어서 메모리 기반으로 Map/Reduce를 하는 것을 만들었다.
개인적으로는 Hadoop의 구현 원리를 조금더 생각해보는 좋은 기회였다는것은 좋았는데 내 욕심이 컸나 너무 설명할게 많아졌다. 한 2부정도로 나눠서 했으면…
예제코드 치고는 map, combine, reduce을 곧잘 한다. 그것도 hadoop과 아주 흡사한 메커니즘으로…
map process loadbalancing도 가능하겠고,
마스터 노드에 reducer를 띄울 수도 있고 각 데이터 노드에 reducer를 띄울 수도 있다.지금은 메모리 기반인데 Disk기반으로도 쉽게 변환이 가능하겠다.
게다가 replication도 만드는게 가능하겠구나.
map, reduce 함수 적절하게 만들어주면 다른 용도의 Map/Reduce도 돌릴수 있다. (당연해야지.)
이러다 얼랭 Hadoop하나 만들겠군…쩝
주절 주절 이시간에도 집필하고 있는데 벌써 정해진 원고의 1/3이 넘어 갔다. 아직 코드 첫장 설명 들어가지도 못했는데.. ㅜㅜ
너무 욕심을 냈나. by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.