に参戦してきた!! 

Hadoop入門

  • 西川徹
    • Preferred Infrastructre, CEO
HBase
  • BigTableのクローン
  • HDFSは巨大なファイルを扱うのは苦手だが、細かいデータを大量に扱う操作は苦手
  • 細かい粒度・低レイテンシなデータアクッスを可能にするための分散データベース
    • 同じ分野のソフトウェアとして、HyperTable
      • Telanium.inc 小宮山さんのプレゼンで
Hadoop DB
  • Hadoopはバッチ処理が得意
  • OLAP的な処理はRDBMSが得意
  • 2つをくつけて大量データ・非構造的なデータをHadoopで処理し対話的なBI処理をRDBMSに任せる
    • まだ論文レベルで実用がわからない
    • RDBMSに取って代わるものではなく、得意な処理を得意な側で処理すればよい
    • Hybridな使い方
    • MapReduceとRDBMSのハイブリッドなものがでてきた
      • Vertica

Preferred

  • 太田さんによる挨拶

Making Hadoop Easy for a Growing Community

  • Christophe Bisciglia
    • CLoudera. Inc.
History
  • 2004 publish GFS
  • 2005 Hadoop Prototype
  • 2006 Yahoo egins Major Investment
  • 2008 Yahoo uses Hadoop to claim Terasort Benchmark
  • New Sub-projects
    • Hive: SQL Data Warehouse for Hadoop
    • Pig: Data Analysis Langugage
  • Sqoop: Database import for Hadoop
    • Works over JDBC
    • Extensible for better perfomrnace
  • RDBMS Venders Embnradce Hadoop
    • MapReduce is great for Analysis
  • Adoption Spanning Globe
Challenges
  • Building Hadooo is Hard
  • Deploying Hadoop ois Hard
  • Operating and Administering Hadop is Hard
  • Explaingin Hadop to New Users is Hard
  • Develpong Applications for Hadoop Should be Easier
    • Shifting APIs,
Builds, Devploy, Upgarade and Operate
  • Cloudere's Distribution for Hadoop (Apache 2 Licensed)
    • Focused on IUsability for Operators / Administrators
  • Stability or New Features : Your Chioice
  • Write Once, Run Anywhere
Cloudera's Distribution for Hadoop (CDH)
  • Current Stable Release
    • Hadoop 0.18.3
    • Hive 0.2.0
    • Pig 0.3.0
  • Test Version
    • Hadop 0.18.3, 0.20.1
    • Hive 0.4.0
    • Pig 0.4.99
    • HBase 0.20.0 (Custom buud)
    • Zookeeper 3.2.1
    • -
Building an Ecosystem Around Hadoop

Standard Packages Enable Vertical Development

  • Open Source
  • Modular
  • Extensible
  • Cross Platform
Standard Packagion Drives Adoption
  • Consistent Downloada from Apache
  • Cloudera Packages Drive New Usage
  • 75% of new users get Hadoop from Cloudrera
  • Enables New Hadoop Apllication
Hadoop 's Emerign Communbity
  • Y, facebook
    • Petabyte scale data platofom
    • faster iteration Graeter Productivity
    • Deeop Insight into User behavior
  • KDDI, NTT, SK telemcom
    • Collect ALl Netwirk Logs (CDR)
  • - Analayze Cosuomer Network Behavior
  • TVA, open PDC
    • Collect and Analyse Sensor Data
    • improve smart Grid Efficiency
  • VISA, JPMorgan
    • Build Scalable Risk Models
  • amazon, ebay,
  • samsung
    • Drug Discovery, Genomic
    • Analysi , Sequence Alignment
  • Common Characteristics of New Hadoop Users
    • Haddooop Enters Organization Trough a Groupe of Evangelist
    • Organizations are new to web scale infrastrucure
    • Operations Team Manages a Driveers Set of Systems
    • Stabolot is a Higher Priority
    • Hadoop Must Integrate with Existing often Legacy
Challengeis for New Users
  • Stabilti is MOre Importan than New Features
  • Integration with Existing System is Critical
  • Linux is Less Common than We Imagine
  • Enabling Less Techinical Users to Acces Hadoop
Putting it All Together
  • Management
  • Operation
  • Integrating Existing Systems
  • Its easy to use Hadop
  • Cloudera's Professional Services
  • Cloudera Desktop (Browser base)
Looking More Closely at Desktop
  • Makeing Hadoop Easy for Everyone
  • HDFS Web Inteface
    • version 14
  • All Data Goes over HTTP
    • Uses same familiar Metaphors as Windows Exoplore or Mcintosh FInder
  • Upload / Download Many Smal Files at Onece
  • Smart About Big FIles
  • Monitor and Debug Jobs: Easy
  • Can find jobs running, and these related files
  • Always Keop and Eye on CLuster Health
    • it is difficuklt to find out error and less performance
    • We find some troubles Visually, such red node, orange node ( green node is hearls)
  • Enabling Less Technical Users
    • Job designer
    • Can use pig, hive
  • Developers can specify input parameters job designer: Input files, data range, output database, etc
Cloudera Desktop
  • Currently Works with Cloudera's Distribiution for Hadoop
    • CDH2: Wil Eventyally Support ALl Releases of Hadoop
  • Not a Replacement for ComandLine Tools
  • Window Manager is Open Source
  • Cloudera is Building a Reusebale API for Developing Desctop Apps
  • Working With a small number of peartners on new Aplicaions
  • hope to capture innovation of ecosystem in a single inteface
  • the API Aplpha wil Open Sometinem in the Next Few
Learing more
  • Get Hadop http:/www.cloudera.com/hadoop
  • Get Desktop http:/www.cloudera.com/desktiop
  • Free Online Training /hadoop-training
  • Blog /blog
  • Twitter http://twitter.com/cloudera

楽天市場のHadoop利用事例

  • 西岡 悠平
    • 楽天技術研究所
  • 河村圭介 @kkawamura
    • 楽天株式界者 開発部
データ
  • 楽天会員は20万ID
  • master 1, slave 13
    • hadoop 0.19.2 Intel Xeom CPU 3.06Hz * 2/ Memory 4GB
  • Fair Scheduler
  • 利用用途
    • 広告のインプレッションログ解析
    • レコメンデーション
広告のユニークユーザ分析
  • 行動ターゲティング広告のユニークユーザ分析
    • 分析結果をマーケティングに提供
  • ユー肉ユーザ分析とは
    • いつ、どこで、どんな人が広告に興味を示したか
  • hadoop導入の背景
    • 配信量が増えている
    • 処理速度の工場
    • 配信ログ40GB/day (bzip2)
    • 1億レコード/day
    • 50%/yearで増え続けている
    • スケーラbにリティん「確保
    • 同じ機能を持つPerlスクリプト版とMapReduce晩で比較すると処理速度が580%工場した
レコメンデーション
  • 最近の買い物からのおすすめの裏側がHadoopで作ってる
    • 購買データ2億件 10GB(楽天市場
      • 一回あたりのmap処理のオーバヘッドが非常に気になる
まとめ
  • mapreduceになれると、ビジネスロジックに集中できてステキ!
  • 現在はログ解析+集計だけど今後進めていく
楽天技術研究所
  • 西岡 (@nishiokamegane)
hadoopで集合地プログラミング
  • 集合地プログラミング
    • ランキング、レコメンデーション
    1. 開始
    2. Map : クラスタへ割当
    3. Reduce : 中心を移動
    4. 収束条件
    • 1日(17時間)で終了した
POJO Hadoop
  • Mapper: インターフェースなどを実装しなければ
  • IntWritableかrintへ変換しなければならない
  • Reporterクラスを使わないときでも引数で渡さないといけない
  • Pig, Hiveでも問題が
  1. リフレクション機能
  2. コンバート機能
  3. インジェ気宇ション機能
Fairy 独自分散フレームワーク
  • Pig, HiveみたいなのりでRubyでかける
  • Real time性に対応するのはどうやってるの?
    • Hadoopはバッチ的だから
    • 単純に1日を超えてたのが超えなくなった、といういみでのざっくりとしたリアルタイム性
    • 0.19.2でしかbzip2はscriptableではないらしい・・・き、気をつけよう

Scala on Hadoop

  • 田中しんじ
    • はてな
  • hadoop 自作サーバ10台, 3TBHッDめm8GB Core2Duo QUad これで100万円以下
  • 蓄積されるデータ(主にログ)
  • d 7G/dauy
  • b 5G/day
  • ugoku 3G/day
  • 300job
  • Job => Hadoop MapReduce => Hatena Fotolife - HDFS <=> Reverse Proxy
  • 2008/5 Hadoop Streaming
  • 2008/8 Perl Mapper, Reducer
  • Hadoop Streaming: 標準入出力を使ったMapReduce
    • map.pl, reduce.plを用意するだけ
  • Job : yaml
  • Yaml作成のWebUIは使えないらしいwww
  • Hadoop Streamingの限界
    • 遅い <= perlの問題も
    • HDFS操作が重い
    • Combinerが定義できない
  • Scala
    • 2003年登場
  • Scala on Hadoop
    • JavaScalaを接続するライブラリが必要
    • SHadoop

Elastic MapRedceでお手軽wikipediaマイニング

  • 大倉務
  • 数百行くらいのPythonスクリプトで大規模データ処理を実現する
前提
  • Hadoop
  • Hadoop Streaming
  • Amazon AWS (S3, EC2)
  • Elastic MapReduce: Amazonの一連のCloud Computingサービスの1つ
  • MapReduceジョブを投げるとHadoopクラスタを作って実行してくれる
  • 自分でMapReduceとかクラスタとかをやらなくてもいい
  • elastic-mapreduce (command line) Rubyスクリプト (Amazon謹製)
Elasting MapReduce
  • EMRはファイル単位でジョブを作るので、分割しておかないとマシンが分散処理してくれない
  1. Step1
  2. Step2: 各ページの被リンク数
    • Reducer aggregate ライブラリにある数え上げ関数
  3. Step3: 最終更新年の分布をとってみる
  4. Step4: PageRankを計算してみる
  • EC2とS3の間のデータやり取りはHDFSで!
  • インスタンス数に応じてそれなりに線形に速度が上がる
いいところ、わるいところ
  • いいところ
    • かんたん
    • 小規模ならMaster分やすい
  • わるいところ
    • 多数のジョブを走らせることを考えるともったいない
    • 1分マシンを使っても1時間分お金がとられる
    • ログがみにくい
    • 独自のディスクイメージは使えない
    • 1時間1台0.1ドル=1時間100台1000円

Hadoop world New York'09報告

  • 柳下幹生
  • 結構エンタープライズが興味持ってる
  • 人材獲得合戦が行われてる!
    • Yahoo vs. FacebookのHadoop使ってるYOっていいあう合戦
Yahoo! Hadoopの最大のDriver
  • 最大4000Nodesのクラスタ
  • The Yahoo! Distribution of Hadoopをリリース
  • すべての結果をApacheにコミットする
  • 82PB/25000nodes
  • 各会社がHadoopの利用ユーザがいるかをアピールし合ってる
    • Scientistもいれてる(利用者として)
Facebook
  • Rethinking Data Warehousing & Analytics
  • なぜほかのデータウェアハウスシステムではなく、Hadoopなのか?
    • 増大するデータ:200GB/day Mar. 2008 -> 4TB/day Today
  • 既存システムでの限界:スケーラビリティ
    • 固有のシステムをベースにした解析・ストレージシステムのコストでは増大するデータに対応できない
  • 4800 Cores 5.5PB, 12TB/nodes
  • 4TB compressed new data /day
  • 135TB compressed datascanned/day
  • 7500 Hive Jobs/day
  • 80K compute hours/day
  • HiveによりHadoopを利活用を工場
  • 新しいエンジニアはHiveのトレーニングセッションを受ける
  • Hive & Hadoopの利用方法
    • レポーティング
    • Ad hoc Analysis
    • Machine Learning Ad optimaize
  • JP Morgan Chase記号におけるHadoopの活用
    • 背景:経済的理由と選択肢としての理由
      • RDB overuse
      • RH OS
      • No SQLテクノロジー
  • 既存のストレージエンジニアはプロジェクトに含まず
    • Opex/Capex: 10分の1以下
  • Hadoop vs SAN/NAS (cost)
    • HW: 20分の1くらいになりかねない!!!
    • SW (per TB): 半分以下になる!!!
      • でもこういうのは、スケールメリットだよなぁ
  • Hadoopの今後の課題
    • SQLフロントエンドツールの進化と相互接続性
    • 企業の既存環境におけるスキルとコンテンツをいかせる仕組み
    • セキュリティと認証
    • エンジニアの増強
    • 管理・監視ツール
    • 開発・デバッグツール
    • 遅延の削減とオープンソースキャッシングテックのロジートのインテグレーション
BC-PDMアーキテクチ: Chinaモバイル:5億人のユーザ
    • BC-PDM: Big Could based Parallel Data Mining Platform
    • CDR (calling data record)
      • CMCC: 5-8TB/day
      • 支社(2000万人以上のユーザ):音声100GB/day, SNS 100-200GB/day
  • 大規模データ解析と現在のソリューション
  • マーケティング
    • ユーザ動向解析
    • ユーザ離れの予想
  • ネットワーク最適か
  • サービス最適かとログ解析
  • 全体のの62がハードウェア投資
  • スケールあうとできないUnixサーバ
  • 管理の複雑さ
  • BC-PDM
    • スケーラビリティ
    • ローコスト
    • 柔軟性
    • 利便性
  • BC-PDM(1)の特徴:16台(くらい?)
    • ビジュアル化
  • BC-PDM(II)の特徴:250台
    • WebベースのGUI:SaaSモデルの実現
    • データ転送ツール
    • セキュリティツール
  • BC-PDM(I)
  • 知的財産的にはどうなっているのか?
    • 大本はGoogle
    • たぶん、大丈夫

SI事業の視点かrみたHadoopの適用領域のほげほげ

Hadoopへの取り組み
  • Hadoopのターゲット
    • 現在:コスト、スケールに価値を見いだす先見派
    • 今後:さらなる生産性向上の手段を求めている実利派
  • Kemari + DRBDを評価
  • Hadoopみたいな分散システム考えると、ハードウェアの土地代、空調代、電気代も考えるんだろうなぁ

Hadoop / HBase開発

  • テラニウムテクノロジ:松岡
  • テラニウムテクノロジ:小宮山
  • そもそもやりたかったこと
    • メール受け取り
    • メールボックスとアルバム・カレンダを連携させたい
  • Liberty BDB(sleepyCat)を分散はいつする
  • Googleの論文に触発されてスケーラビリティを実現する汎用サーバを水平配置
  • データベースを使用しない
    • データベースはインデクス作成目的には重すぎる・高すぎる
  • Liberty
  • HBaseの使用に決定した理由
    • コミュニティ活動がある
    • サービス付随が無い
    • Hadoopがホット
    • 開発活動が活発
  • HBaseを商用システムに利用するときに開発すべき課題
    • 開発
    • 品質: HBase 0.20.1でパフォーマンスはよくなった
    • 構築
    • 鵜尿
    • 保守
    • 将来性

HBaseによる開発の実際

HBase
  • column-oriented DB
  • Hadoopのバージョンと同期してリリース
    • 0.19から0.20の間でAPI変更があった
  • Commiter: 8人
  • ML: 一般(20/day):hbase-user@hadoop.apache.org, 開発(2/day):hbase-dev@hadoop.apache.org
  • 行キーとcolumnの関係
    • テーブルは複数の行で構成されている
    • 各行は、行キーといくつかのカラムからできている
    • データは、行キー・カラム名・タイムスタンプを指定すれば一意に決まる
    • 複数のカラムはカラムファミリでグリウーピングする
    • テーブルのカラムをアプリケーションの運用中に追加することができる
      • カラムファミリはテーブル作為時以外は変更できない
        • HBaseはカラムファミリでファイルを作るから
  • HDFS上に存在するデータセットに対してリアルタイムでランダムな読み書きが可能な四k身を提供
  • HDFSでは扱いにくい大量の小さめのファイルがはちっているデータも、HBaseでまとめて管理することができる
  • 行は行キーによって自動的に昇順ソートされる
  • テーブルの大きさが閾値を超えると自動的に分割される
  • Hadoopとしては小規模だが流入量がおおい
  • データ到着速度以上で独伊埋めんとのインデクスをs抱く獅子、HBaseに核のする
  • 一つのドキュメントに対しては100カ所以上のインデクスを張る
  • インデクス対象尾ドキュメントサイズは数KB--100KB
  • HDFSで実現
    • ファイルの永続性の確保
    • 分散してのファイル保持
    • 上長か
  • HBaseで実現
    • 分散Kye-valストア
    • ドキュメント管理
  • アプリで実現
    • アプリケーションロジック
    • インデクスの持ち方
開発ではまった点
  1. テーブルサイズの暮鳥
    • インデクステーブルのサイズが大きくなった
    • カラムとカラム名が一緒に保存されている
    • カラム名をつけずにカラムファミリ名のみ使用
行キーの選択
    • 行キーとして重複が許される値を使ってしまって、新規の行が作成されずに既存の行のカラム値が更新された
    • ユニークだと仮定していたデータが実は重複していることが判明
HBaseを使うときのポイント
  • 設計時
    • 行キーの設計は慎重に「行う、行キーはユニークかつ想定される検索パターンにおいて効率的に検索できるようにしておく必要がある
    • テーブルファイルのサイズを節約するためには絡む目尾は短めに設定しておく
    • 1リージョンで管理できるテーブ数はファイルディスクリプタの上限値に依存するので作成するテーブル数の配慮が必要
  • 開発時
    • 0.20.xで新しいAPIを使う
  • 運用時
    • Masterは単一障害ポイントなので、この停止を極力減らすべく信頼性の高いコンピュータ上で動かすことが重要
    • リージョンサーバがクラッシィした場合、コミットログに書かれなかったオペレーションは失われる
まとめ
  • HBaseを使ってみて
    • 開発作業のしやすさ○
      • ドキュメント、サンプルコード○
      • HBase/アプリケーションのバグ切り分けの用意さ○
      • コミュニティからの情報収集料○
      • インストール/バージョンアップのしやすさ○〜△
    • HBaseを使ったシステム設計のしやすさ○〜△
    • ミドルウェアとしての運用監視のしやすさ△

Cloudera

CDH: Cloudera Distribution for Hadoop

  • sqoop
  • Fair Scheduler on 18
    • htto://archive,cloudera.com