Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

[Book] Hadoop 완벽 가이드

Hadoop 완벽 가이드

Hadoop 완벽 가이드 - 6점
톰 화이트 지음,
심탁길.김우현 옮김
한빛미디어

요즘 같아서는 왠지 관심을 가지지 않될것 같은 빅데이터를 다루는 Hadoop에 대한 책입니다. 하둡에 관심을 가진 사람들은 알겠지만 하둡이라는 기술은 무척 방대합니다. 어느 기술이든지 처음 접할때는 대게 방대하다고 느껴지지만 하둡은 특히나 더 그런것 같습니다. 마치 JSP부터 서블릿, MVC등 차례차례 배워나가는 것이 아니라 자바도 잘 모르는데 스프링 + 하이버네이트 + 타일즈까지 묶인 풀스택을 접해서 어디서부터 공부해야 하는 건지 모르는 것과 비슷하게 느껴집니다. 이 책은 Hadoop Definitive Guide라는 이름답게 Hadoop의 기술군 대부분을 다루고 있습니다. 목차에 나오다 시피 하둡의 핵심인 맥리듀스부터, Hive, Pig, Hbase, HDFS, ZooKeeper, Sqoop 등입니다.(물론 하둡에는 이 외에도 많은 것들이 있습니다.) 그리고 당연하게도 맵리듀스에 가장 많은 지면을 할애하고 있습니다.

이 책은 하둡 0.20.0을 기준으로 작성되었습니다.(참고로 2011년 다시 나온 개정판입니다.) 하둡의 공식사이트의 릴리즈정보를 참고하면 다음과 같이 나와있습니다.

  • 1.0.X - 현재 안정버전, 1.0 릴리즈
  • 1.1.X - 현재 베타버전 1.1 릴리즈
  • 2.X.X - 현재 알파버전
  • 0.22.X - 보안이 포함되어 있지 않음
  • 0.20.203.X - 레거시 안정버전
  • 0.20.X - 레거시 안정버전
처음 이 버전정보를 보았을 때 기존에 웹쪽에서 주로 사용하던 프로젝트들의 버전릴리즈와는 다른 방식이라 무척이나 헷갈렸습니다. 이 내용대로라면 0.20.0은 레가시 버전이고 1.0.X가 안정버전이구나 싶었는데 트위터를 통해서 물어보니 아직 0.20 대를 많이 쓰기 때문에 0.20.X 버전으로 공부해도 무리가 없을 듯 합니다. 실제로 클라우데라의 CDH3도 하둡 0.20.2 버전을 사용하고 있습니다. 하둡의 버전 관계를 이해하는데는 다음 그림이 좀 도움이 됩니다.

하둡의 버전
출처 : Konstantin I. Boudnik & Cos가 만든 다이어그램을 Alex Popescu가 올린 글

얘기가 좀 샜는데 다시 책 얘기를 좀 하자면 책의 번역이 형편없습니다. 좀 심하게 말하기는 했지만 번역기를 돌린 것마냥 아주 못 읽을 수준까지는 아니지만 문장을 아주 난해하고 번역이 되다만 것처럼 되어서 이해하기가 어렵습니다. 책을 읽기는 있는데 무슨 말을 하는 건지 쉽사리 이해가 가지 않아서 한문장을 2-3번은 읽어야 그럭저럭 의미가 와닿습니다. 문장이 완전히 틀린건 아니지만 난해하다는 얘깁니다. 워낙 다양하고 방대한 기술을 설명하기 때문에 안그래도 내용이 어려운데 문장까지 난해하다 보니 기술이 어려운건지 제가 이해력이 딸리는 건지 판단하기가 어렵고 하둡은 더 먼 기술로 느껴져버립니다. ㅠㅠ (현재는 하둡에 관련된 책이 하나 더 나왔는데 그 책도 평이 그렇게 좋은 것 같지는 않습니다.)

하둡의 근간인 맵리듀스부터 설명해서 HDFS와 함께 맵 리듀스가 어떻게 구성되고 어떻게 사용되는지를 설명해 주고 있고 그 뒤에는 맵리듀스위에 올라간다고 할 수 있는 피그, 하이브 등을 설명하고 있습니다. 개인적으론 부록부터 읽고 시작하는게 그나마 좋을 듯 합니다. 일단 하둡을 제대로 배우려면(저는 그렇게 못했지만) 전부는 아니더라도 책의 예제를 따라하면서 곤부하는 것이 제일 좋을 듯 한데 그럴려면 부록에 있는 설치가이드와 예제에서 사용할 기상데이터에 대한 내용을 먼저 숙지하는게 좋아보입니다.(딱히 책의 흐름과는 연관이 없기 때문에 먼저 보는 것이 나을 것입니다.) 하둡같은 빅데이터기술을 처음해봐서 그런지는 모르겠지만 설치하는 광정에서 많이 해맸고 설치한 후 실제로 예제를 사용해 보는데서 더 많이 해맸습니다. 같이 공부하신 분들도 비슷하게 말씀하시는 걸로 봐서는 설치가이드는 약간 부족하다고 생각합니다. 설치에 관련헤서는 좀 삽질하면서 해볼 생각을 해봐야 할 것 같습니다.

책의 만족도가 아주 높은 정도까지는 아니지만 하둡같은 방대한 기술을 책 한번읽고 이해한다는 것은 무리이기 때문에 어느정도 수긍은 하고 있습니다. 스터디를 통해서 책을 읽었는데 진행속도가 무척 빨랐기 때문에 예제를 따라하기는 커녕 책읽기도 급급하면서 읽었습니다. 약간의 부실한 부분은 예제를 실험해 보면서 하면 꽤 많은 부분에서 도움이 되리라고 생각합니다.(최소한 구성은 괜찮아 보입니다.) 어쨌든 저로써는 각 기술이 뭘하는 건지 정도는 파악했습니다. 실제 공부는 사용해 보면서 할 때가 진짜가 될 것이긴 한데 하둡에 대해서 전혀 감을 갖고 있지 않다면 이 책이 나쁜 선택까진 아니라고 생각합니다.(선택권이 거의 없다시피하긴 하지만 영어가 된다면 원서가 더 나을수도 있겠습니다.)
2012/08/17 01:30 2012/08/17 01:30