ミッションたぶんPossible

どこにでもいるシステムエンジニアのなんでもない日記です。たぶん。

「いまさら聞けないHadoop勉強会」が開催されました


 久々のブログ更新。すっかりサボってました。社内に戻ってきたらもっと自由に時間使えるかと思っていたら、色々とゴタゴタあり過ぎて逆に全然余裕が無い状態になっています。充実しているのはいいですが、アウトプットが少ないのは宜しくないですね。月も変わったことだし、ちゃんと気合入れ直して書いていきたいと思います。



 先週末の2/4(土)は社内で「いまさら聞けないHadoop勉強会」が開催されました。主催はオレ、講師は無着衣系エンジニア:@(通称:裸王)*1。彼は以前開催した勉強会でも講師を務めてくれています。


 そもそもは、オレが現在参画しているスマートフォン案件のお客さんから「Hadoopで検証実験をしたいんだけど。」とプロトタイプ開発と検証を依頼されたことが発端。紆余曲折があり、オレ自身は殆どその案件には関われなくなったんですが、Hadoopは会社でも初めてチャレンジする技術、しかも参画メンバーは超ベテランのリーダー以外は割と技術レベル的に厳しいものがありまして、そのまま放置しとくと失敗はほぼ確実、オレにも責任の一端はあるし、じゃあちょっと事前知識の範囲くらいはサポートしようか、と@にお願いして勉強会を企画したものです。


 彼自身も独習でHadoopを勉強しているに過ぎないんですが、生来のオタク気質エンジニア魂からかかなり本気で取り組んでおり、前回の勉強会でも難しいHadoopの内容を非常に分かり易く説明してくれました。だったら案件参画者だけに限定しないで、社内から広く「Hadoopなにそれ美味しいの?」「Hadoopって言葉は知ってるけど取っ掛かりがなくてトライできてない」って人たちにも参加してもらえるよう、タイトルで敷居を低くして告知したんですが、その甲斐あって10名もの参加者が集まりました*2


 どーでもいい話ですが、この勉強会の告知メールを全社対象で送信したら、その5分後に社長から直接声を掛けられ「滝川オマエHadoopやってんのか?だったら今度お客様に提案する資料作るの手伝え!」と直々にご使命を頂きまして…。メインフレーム畑オンリーの社長が興味を持つくらいホットなキーワードだったってことで、開いてよかったヨカッタ!…と前向きに捉える努力をしているところでございます。




 勉強会の内容自体は前回のHadoop勉強会をほぼ踏襲した形。前回と異なるのは、ハンズオンを無くしてその分事例紹介等を増やし、より初心者でもイメージし易く構成してくれていました。

導入
  • 参加者自己紹介
  • 開催主旨説明
  • みんなの持つ「Hadoop」に対するイメージの共有(意見交換)
第一部:Hadoop概要説明
  • Hadoop」とは?
  • 関連プロジェクト
    • hBase, Pig, Hive, Mahout(個別にインストールする必要あり)
  • ビッグデータ時代の到来と問題
  • 既存の対処法:MPI
  • MapReduceの説明
    • MapとReduce
      • 短所:Shuffleで大量の通信が発生→圧縮(コンバイナー)の存在
    • MapReduceに向いた処理
      • Word Count, Grep, Sort(Partition関数)*3, Log解析, etc...
  • HDFSの説明
    • 1ブロック=64MB(もっと増やすことも)
    • NameNode … メタデータのみ、データ容量の管理も。ご主人様。
    • DataNode … 実データを配置して処理。奴隷もしくは豚野郎。
  • データ配置のアルゴリズム
  • レプリケーション(複製)のアルゴリズム
  • HDFSに存在しないもの
    • Append
    • Lock

第二部:Hadoopのビジネス活用
  • Hadoopのビジネス活用の実情
  • 「インフラ」として「Hadoop」を理解する
  • なぜ必要とされているか
    • 定型処理→非定型処理の流れ
    • 存在の「空気」化
  • 「○○はできない」という理由を理解する
    • アクセス権制御、ファイル追記、マスタサーバの多重化(SecondalyNameNodeに対する誤解)
  • インフラとしての現実的な割り切り
    • 既存インフラとは目的が異なる
    • 優先順位の低い機能は諦めている
    • 既存インフラを置き換えるものではない
  • Hadoopの使いどころ
    • RDBMSとの使い分け
    • 定型処理と非定型処理の違い
    • ブリュワーの「CAP定理」(Hadoop:AP→○、C→×)
    • Hadoopが効果を発揮する用途
      • 検索インデックス生成、大量テキストデータの継続的解析、次空間上のバスケット分析、etc...
    • 処理ロジックの実装
  • まとめ
第三部:Hadoopの実例紹介
  • Asakusa FWを利用した検証実験例の紹介

 今回の勉強会で特に良かったのは質問が頻繁に飛んできたこと。参加者が前回と被らなかったこと、これから実際に案件をこなしていく人がいたので、とても真剣にかつ率直な疑問が飛び交い、一方で講師もつつがなく答えたりと白熱した、でも和やかな勉強会となりました。元々3時間くらいかなぁと勝手に予想していたんですけど、長引いて5時間くらいになったんですが、集中力が途切れずみんなが熱意をもってHadoopを勉強しようとしている姿勢が見られて、非常に良かったと思います。うちの会社でHadoopを使ったビジネスを立ち上げることができてやっとスタートなので、まだまだ先は長いですが、幸先良かったんじゃないかと勝手に思っています。


 そのあとの打ち上げ(?)では、どういうわけか「Hadoop本作ってコミケで売ろうぜ!」って話になっちゃいまして、まだ誰もHadoop習得してないのに夏コミに参加することだけは決定した*4次第でございます。失敗プロジェクトの典型だなw。

*1:この日もクソ寒いのに何故か半袖でした。本当はきっと全裸でプレゼンしたかったに違いない

*2:肝心の案件参画者が風邪だか仮病だかで欠席するという体たらくも発生しましたが。あの野郎マジで死なす!

*3:Hadoopの場合、何もしなくてもSortはされるので、独自ルールでSortをしたい場合に必要

*4:正確には「夏コミに申し込むことだけは決定した」です。コミケは初回サークル参加希望者の落選率が非常に高いらしいので、本当に参加できる可能性はまぁ30%も無いと思っています。