に参戦してきた!!
Hadoop入門
- 西川徹
- Preferred Infrastructre, CEO
HBase
- BigTableのクローン
- HDFSは巨大なファイルを扱うのは苦手だが、細かいデータを大量に扱う操作は苦手
- 細かい粒度・低レイテンシなデータアクッスを可能にするための分散データベース
- 同じ分野のソフトウェアとして、HyperTable
- Telanium.inc 小宮山さんのプレゼンで
- 同じ分野のソフトウェアとして、HyperTable
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
- part MooTOols Javascript Framework
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処理のオーバヘッドが非常に気になる
- 購買データ2億件 10GB(楽天市場)
まとめ
- mapreduceになれると、ビジネスロジックに集中できてステキ!
- 現在はログ解析+集計だけど今後進めていく
楽天技術研究所
- 西岡 (@nishiokamegane)
POJO Hadoop
- Mapper: インターフェースなどを実装しなければ
- IntWritableかrintへ変換しなければならない
- Reporterクラスを使わないときでも引数で渡さないといけない
- Pig, Hiveでも問題が
- リフレクション機能
- コンバート機能
- インジェ気宇ション機能
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
-
- 関数型の特徴を備えた言語
- 普通のオブジェクト指向でも書ける
- ScalarによるQuick Sort
Elastic MapRedceでお手軽wikipediaマイニング
前提
- 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はファイル単位でジョブを作るので、分割しておかないとマシンが分散処理してくれない
- Step1
- Step2: 各ページの被リンク数
- Reducer aggregate ライブラリにある数え上げ関数
- Step3: 最終更新年の分布をとってみる
- 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
- 各会社がHadoopの利用ユーザがいるかをアピールし合ってる
- Scientistもいれてる(利用者として)
- 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
- 既存のストレージエンジニアはプロジェクトに含まず
- Opex/Capex: 10分の1以下
- Hadoop vs SAN/NAS (cost)
- HW: 20分の1くらいになりかねない!!!
- SW (per TB): 半分以下になる!!!
- でもこういうのは、スケールメリットだよなぁ
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
- スケーラビリティ
- ローコスト
- 柔軟性
- 利便性
- 知的財産的にはどうなっているのか?
- 大本はGoogle
- たぶん、大丈夫
SI事業の視点かrみたHadoopの適用領域のほげほげ
- NTTデータ 政谷
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変更があった
- 行キーとcolumnの関係
- テーブルは複数の行で構成されている
- 各行は、行キーといくつかのカラムからできている
- データは、行キー・カラム名・タイムスタンプを指定すれば一意に決まる
- 複数のカラムはカラムファミリでグリウーピングする
- テーブルのカラムをアプリケーションの運用中に追加することができる
- カラムファミリはテーブル作為時以外は変更できない
- HBaseはカラムファミリでファイルを作るから
- カラムファミリはテーブル作為時以外は変更できない
- HDFS上に存在するデータセットに対してリアルタイムでランダムな読み書きが可能な四k身を提供
- HDFSでは扱いにくい大量の小さめのファイルがはちっているデータも、HBaseでまとめて管理することができる
- 行は行キーによって自動的に昇順ソートされる
- テーブルの大きさが閾値を超えると自動的に分割される
- Hadoopとしては小規模だが流入量がおおい
- データ到着速度以上で独伊埋めんとのインデクスをs抱く獅子、HBaseに核のする
- 一つのドキュメントに対しては100カ所以上のインデクスを張る
- インデクス対象尾ドキュメントサイズは数KB--100KB
- HDFSで実現
- ファイルの永続性の確保
- 分散してのファイル保持
- 上長か
- HBaseで実現
- 分散Kye-valストア
- ドキュメント管理
- アプリで実現
- アプリケーションロジック
- インデクスの持ち方
行キーの選択
-
- 行キーとして重複が許される値を使ってしまって、新規の行が作成されずに既存の行のカラム値が更新された
- ユニークだと仮定していたデータが実は重複していることが判明
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