#garagekidztweetz

読者です 読者をやめる 読者になる 読者になる

#garagekidztweetz

id:garage-kid@76whizkidz のライフログ・ブログ!

#oreilly0724 100人が100人かわいらしいと感じるロゴが有名な Hiveの「プログラミング Hive 」と700p 越えで鈍器と化した Hadoop「象本」の第三版の刊行記念 Hadoop セミナーにいってきた

conference lifelog hive hadoop

去年のHBase 本の刊行セミナーにひき続いて、100人が100人かわいらしいと感じるロゴが有名な Hiveの「プログラミング Hive 」と700p 越えで鈍器と化した Hadoop「象本」の第三版の刊行記念 Hadoop セミナーに行ってきました。

実は、 O'Reilly Media - Technology Books, Tech Conferences, IT Courses, News でいずれの書籍も原著を買っているので、翻訳本は買う気がなかったのですが、翻訳関係者の方々がどんな話をするのか聞きたくて行ってきました。
(実際、 プログラミング HiveHadoop 第3版を翻訳した玉川さんの翻訳裏話はきいてためになりました。翻訳は相当タフな仕事だということがとてもよくわかりました。ちょっと関心はあるんですけどね…)

では、いつものとおり、とってきたメモを公開しておきたいとおもいます。(さらに資料の公開があれば、後ほど更新や追記をしたいと思います。)

アジェンダは以下のとおりでした。

【アジェンダ】

  • 18:00 受付開始
  • 18:30 開演ご挨拶
  • 18:40 「Hive徹底入門」〜Cloudera株式会社 嶋内 翔 氏〜
  • 19:00 「事例:HiveとImpalaのおいしいとこ取り」(仮)〜株式会社セラン 須田 幸憲 氏〜
  • 19:20 「象本、Hive本の読みどころ、翻訳うらばなし」(仮)〜『プログラミング Hive』『Hadoop』翻訳者 玉川 竜司 氏〜
  • 19:50 「高可用性HDFSのご紹介」〜Cloudera株式会社 小林 大輔 氏〜
  • 20:05 (中止)「パブリッククラウドでHadoopを使ってみよう - Windows Azure HDInsight」〜日本マイクロソフト株式会社 佐藤 直生 氏〜
  • 20:20 Cloudera UniversityとHadoop認定試験〜Cloudera株式会社 川崎 達夫 氏〜
  • 20:30 グッズプレゼント抽選会
  • 20:45 閉会

では、以降より各セッションのメモです。

18:30 開演ご挨拶

− 定員がちかかったこともあり、きちんとみんなちゃんとキャンセルしてくれてるらしい。
− Cloudera さんとイベントをやるのは前回の HBase イベント

➤ プログラミング Hive
➤ Hadoop 象本
  • 736 page, 5040円
  • 568 page -> 672page -> 736 page
  • 3 年で3版
  • それでもまだ一番分厚いわけじゃないが、第10版くらいで超えるんじゃなかろうか、と

18:40 「Hive徹底入門」〜Cloudera株式会社 嶋内 翔 氏〜

スライドへのリンクは ➤ こちら

  • Hive の正しい使いかた
  • かわいらしいアイコン、100人中100人がかわいらしいと感じるアイコン
  • どういうことに使うのがいいのか?という概念を説明する
➤ Apache Hadoop
  • Hadoop は
    • 単一サーバで処理しきれないほど大量なデータを
    • コモディティサーバを並べることによって
    • 分散処理、保存するための仕組み

*****

  • Hadoop をすべて理解するのはむずかしい、敷居を
➤ Hadoop システムの全体構成
  • SQL, BI ツールとしてのいちづけの Hive
➤ Apache Hive
  • MR を実行してくれるSQL 方言を提供してくれる
➤ スキーマ・オン・リード(今日の話はこれがすべて)
  • Hive の最も強力な概念のひとつ
  • RDB では当たり前だが、データを読むときにスキーマをつかう
  • Hive の場合は読みだすときにはじめてスキーマとなる
  • 自由にデータが投入可能になる。
➤ Hive のスキーマ作成クエリの例
  • 特殊な概念の説明
➤ 外部テーブル
  • ファイルシステム上にあるデータをそのままテーブルとして扱える
  • 他のツールとデータを共有することも簡単にできる(大量なデータを共有するためには有用な仕組み)
  • 外部テーブルにすることで、テーブルを drop したとしても、それはメタデータを削除したことにしかならず、データそのものは消えない
➤ コレクションデータ型
  • 単なる STRING や INT だけでなくより複雑な型もカラムとして定義可能
    • STRUCT, MAP, ARRAY, UNIONTYPE (列挙した型のいずれを格納することも可能, Hive 本には書いてない)
➤ Partition
  • テーブルをパーティション単位に区切ることが可能
  • ファイルシステムは別ディレクトリに配置される
➤ SerDe
  • Serializer / Deserializer
  • "さーでぃ"と読む
  • あらゆるデータをHive コードに変換するためのIFを提供する
  • 組み込み SerDe: RegexSerDe etc...
  • テキスト以外のバイナリデータなどもカスタム SerDe で取り込み可能
➤ RegexSerDe を使った Apachelog の取り込み
➤ Cloudera Impala (Hive本付録B、嶋内さんが書いてる)
  • 低レイテンシSQLエンジン
  • お客様の最速は Hive の93倍
  • Impala は速いかわりにトレードオフがある
  • UDF はつかえない、耐障害性は低い、 SerDe は使えない

*****

  • Impalaの賢い使い方
  • まずは実験のために使おう、それで形が定まってきたら、 Hive を使おう
➤ まとめ
  • Hive はSQLをつかってHadoopをつかえる分析用プログラム
  • Impalaは高速だがHiveより機能が少ない
  • でも、詳しくは本を買おう
  • 今買うと、USB hub がもらえるよ

19:00 「事例:HiveとImpalaのおいしいとこ取り」(仮)〜株式会社セラン 須田 幸憲 氏〜

スライドへのリンクは ➤ こちら

  • Impala を率先的に使おうとしてハマったことを話してくれるとのこと
➤ 自己紹介
  • @sudabon
  • 好きな Hadoop ecosystem: Hive、 Hadoop 歴 1 年
  • 資料はのちほど公開される
➤ セランの事業内容
➤ Hadoop の活用方法
  • MOBYLOG分析が難しいバッチ処理
  • 顧客単位で個別に分析コンサルティング
➤ Hadoop ecosystem との関わり
  • 動画の閲覧ログの集計で Hadoop を利用
  • そのときは EMR, Hadoop streaming
  • オンプレではなかった

*****

  • AWS の懇親会で R さんに Hadoop の構築について詳細にアドバイス
  • CDH があり、 java かけなくても Hive があると知った

*****

  • バッチ開発時にアドホックにクエリを実行
  • それでも時間がかかる
  • それを時短する方法がないかなとおもったところで Impala に出会った
➤ Impala のリリースと性能評価

*****

  • HiBench を用いた評価
  • RCFile の評価
  • mem_limit オプション、Parquet(カラムナーストレージ) の評価
➤ 検証環境の説明(これは資料からの抜粋とのこと)
  • CM 4.5.2
  • L2 スイッチの下に 1Gbps ether でつながっている
  • CentOS 6.2
  • memory 4GB

*****

  • CDH 4.2.1 + Impala 1.0
  • HiBench (hivebench) github.com/hibench
  • read-only
  • TextFile, Sequence file, RCFile さまざまなファイル形式を比較

*****

  • 実際に使ったテーブル、クエリの内容(資料が参考になる)
➤ Impala をうまくつかうための TIPS
  • Hive と Impala は使い分けが重要
    • 耐障害性を備えた Hive はバッチ処理
    • Impala は Adhoc クエリ
  • Impalaは可能な限りメモリを使う設計
    • mem_limit オプションを使う(mem_limit はクエリを実行するスレッドに対するリミットだということに注意)
    • Partition テーブルを Parquet に変換する場合、 mem_limit は効かない Bug (IMPALA-257)
  • 2つの JOIN の使い分け(Join には2通り)
    • 基本的には pertitioned join を使うべき
    • A join B の場合に場合に、Bのサイズが A より極めて小さい時は、 broadcast join が高速な可能性あり
➤ 現状の Hadoop の構成
➤ 最近は Hue から Query 実行
  • 最初は shell から実行していたが
➤ 現状の課題
  • HiveServer2 への移行
    • 要望が多かったセキュリティと同時実行をサポート
    • HiveServer1 との後方互換性がないため、バッチソフトウェアの改修が必要
  • Hive Storage Format の変更
    • RCFile + Snappy を利用していたが変換にあまりにも時間がかかっていたため、 TextFile + Gzip に変更
    • Impala は TextFile + Gzip をサポートしていない
      しかもサポート時期は不明
➤ [PR]Hadoop Hosting の特別キャンペーン
  • 法人、先着2社

19:20 「象本、Hive本の読みどころ、翻訳うらばなし」(仮)〜『プログラミング Hive』『Hadoop』翻訳者 玉川 竜司 氏〜

  • これは息抜きの時間だよ、といいつつなかなかおもしろい話だった
➤ 軽く自己紹介
  • Sky 株式会社に在籍、兼業で翻訳をやっている
➤ 自分にとっての翻訳とは何か?
  • 英語から日本語への写経 wikipedia: 写経
➤ 技術者と翻訳者と
  • 技術者としては:
    • 文字通り一字一句読むため、非常にいい勉強
    • その分野のエキスパートと知り合いに
    • 締め切り駆動勉強法
  • 翻訳者としては:
    • まずは正確性が第一
    • ついで日本語の読みやすさ
    • スピード:平均 4page/day(平日 1-2 page, 休日 20 page くらいみたいな)
    • とにかく地味(たまに自分もやってみたいという人もいるが… あまり楽しくないと思うよ、自分は楽しいけど)
➤ これまで訳した本を並べてみた
  • 18冊
    • 2009年にはじめて Oreilly の本を翻訳
    • いきなり昼休みに Oreilly に電話した、この本を翻訳したい、と
    • 本当は仕事で MS の仕事をしていたが、なかなか MS の本の翻訳は回って来なかった(そもそも MS の本は Oreilly には少ないというのもあって)
    • Hadoop MR デザインパターンあたりから、レビューなしにはむずかしくなり、 Cloudera さんの協力もえるようになった。
    • とくに HBase は動かすことすら難しかった。
    • Jenkins あたりからは自分で企画を出すということが許されるようになってきた
    • MongoDB はてなの匿名ブログに投稿があった、いつになっても翻訳がないぞゴラという、それで俄然やる気になった
    • (ブログとかじつはなにげにみてるよ、と)
➤ 最近困っていること
  • 他人の翻訳本が読めない
  • いつのまにか翻訳チェックしてしまう
  • 訳本にはどうしても誤訳があったりするので。どうしても原文を確認しないと気がすまなくなってしまう。
  • 素直に読むだけでいいときにまで
➤ 翻訳の是否
  • 誰もが原書を読めること
  • 現実には原書を読む、読める人はほとんどいない
  • 経験的には動機があれば読むようになり、読めるようになる
  • 教科書的なものくらいはあったほうがいい
  • 鶏と卵なところもあって、正解はない

*****

  • 実際、じつはわたしも今回の Programming Hive と Hadoop Definitive Guide は原著で読んでいてかじりよみしているのだが、確認のために翻訳本があるのはうれしい
➤ 翻訳する本の選び方
  • わくわくするもの
  • 読者の「動機」になるもの
  • 自分の仕事で活きるもの
  • Perl 本が原体験
➤ 次は?
  • 2013年中に
    • Hadoop Operations
    • Vagrant (日本語版独自の付録付き)
  • 来年
    • EMR
    • MongoDB Applied Design Pattern
    • AWS (事例集のようなもの)
    • Chef (本当にそもそもでるのか?):現状はじつは伊藤直也さんが書いた薄い kindle 本しかない
    • High Performance Browser Networking (Google の人が書いているらしい)
  • #oreilly0724 でほしい本つぶやくと O'reilly Japan にプレッシャーに
➤ 本を買うということは
  • 経済における「投票」のようなもの
  • 今後共清き一票お願いします!!
  • 何票でもオッケイです、と。
➤ 翻訳者について
  • 毎日翻訳できる人はなかなかいない
  • 期限を守れる人が大事!

19:50 「高可用性HDFSのご紹介」〜Cloudera株式会社 小林 大輔 氏〜

  • 象の群れがサバンナを歩いているようないい写真がとれたど!
➤ なぜ HDFS HA が開発されたか
  • 第二版の内容を紹介
  • HDFSはマスタースレーブ構成
  • NNがSPOFになってしまうという課題があった
➤ HDFS HA の構成要素
  • HDFS HA は3段階の開発フェーズを経た(第三版の内容から)
  • SBN の導入(原著にあり)
  • 自動FOの導入(原著にあり)
  • Quoram Journal Manager (日本語版だけの付録、付録E)
➤ Quoram Journal Manager で何が変わったのか?
  • 編集ログがいまだ単一障害点
  • 確実にActive NN が止まっていなければならなかった

*****

  • 編集ログを複数箇所で冗長管理できるようになった
  • エポック番号により常にひとつの NN だけ書き込める仕組みになっている(スプリットブレインシンドロームを回避)
  • 既存のHadoopクラスタで操作可能
  • 仕組みそのものの図解は小林さんの資料がわかりやすいのでそちらを見よう!
➤ まとめ
  • ぜひダウンロードしてつかってみてね、と。

20:05 「パブリッククラウドでHadoopを使ってみよう - Windows Azure HDInsight」〜日本マイクロソフト株式会社 佐藤 直生 氏〜

  • トラブルでこれなくなってしまったそう。
  • これまで翻訳もやっていただいていた方だったそうで、その裏話も聞けたかもしれないところ、とても残念

20:20 Cloudera UniversityとHadoop認定試験〜Cloudera株式会社 川崎 達夫 氏〜

  • Hadoop/Hive を学ぶ
  • 講師として立ちっぱなし、話っぱなしでおつかれな様子でした
  • 本なら全部かいてあるし、一番コスパいいよ
  • ぜひ玉川さんに清き一票お願いします!!
➤ 新:Data Analyst 向けのコースの紹介
  • Hive, Pig, Impala をそれぞれ1日ずつ
  • 10月から日本語で提供するつもり
  • 玉川さんの翻訳本、全部読むのは億劫だと思ったら来てね
➤ せっかく本が出版されたのでキャンペーンを
  • 8月の Hadoop トレーニング受けた人には先着20名に象本あげます
  • Data Analyst 向けのコースでは Programming Hive あげます
  • あと zouhon3 のdiscount codeでトレーニング10%オフになるよ
➤ 特別メッセージ
  • I hope you enjoy using Hadoop abd reading my book - Tom White
  • I'm very glad to hear that Ryuji did a great job. If you see him please pass my thanks to him too. - To Tamagawa-san
  • 4th Edition maybe available this year end?
  • if you have any request to include this 4th edition, you can directly ask him ;)

20:30 グッズプレゼント抽選会

  • これはじゃんけん大会でした
    • 今日もキュートな hive T-shirts は手に入れられなかった

参考:

それでは今日はこんなところで。