Download presentation
Presentation is loading. Please wait.
1
ビッグデータ発展の背景 Hadoopの紹介
2
絶対計算 絶対計算:大量のデータの解析に基づく分析 2つの要素の相関関係を計算することで意外な事実が見えてくる
次々に絶対計算が専門家に勝利を収めていく アッシェンフェルターによるワイン品質方程式 気温・降水量を元に計算 専門家の反発を招く → 比べ物にならないほど優秀な結果・予測を立てた MLB(メジャーリーグベースボール) 以前のスカウトの「目」に頼るものではなく選手の成績(データ)を元に獲得 これを導入したアスレチックスは21世紀最強とも言われる 映画化 「マネーボール」
3
他にも 無差別抽出 コンチネンタル航空 大幅な遅延やキャンセルを受けた顧客に対して無作為に2つのグループに分ける
コンチネンタル航空 大幅な遅延やキャンセルを受けた顧客に対して無作為に2つのグループに分ける 1 何も受け取らなかった → 顧客は激怒 2 御詫び状を送る → 翌年のコンチネンタル航空で費やすお金が8%増 キャピタル・ワン(カード会社) 顧客によって、引き止められる限界の金利の下げ幅を捻出 男性:DMの右上に女性の写真を貼る → 金利4.5%の値下げと同じ応答率 AMAZON 顧客ごとに商品の値段を設定(ランダム) 価格差は無作為の価格テストの結果
4
オープンデータ時代 LOD運動 公的機関などが保有している科学データをオープンにし(OpenData)、皆でつなげ て(Linked)、社会全体で大きな価値を生み出す為に共有しようとする取り組み オープン・ガバメント 「透明性」「国民参加」「政府間および官民の連携・協業」の3つを原則とした 三原則の中の「透明性(Transparency)を具現化したものが「Data.gov」 運輸省:出発予定時刻・実際の予定時刻・便名・飛行時間など 国防省:軍隊別の人員構成 ベンチャー企業 上記の運輸省のデータを元に航空便の出発時刻の遅刻予測サービス 総合天候保険 農家が収穫高を下回った際に備える保険 データマーケットプレイス 民間事業者がデータの円滑な流通を促すデータ取引市場 人口統計・環境・金融・小売・天気・スポーツなどのデータを売買する
5
ビッグデータ 「ビジネス・インテリジェンス」(BI)は存在した 膨大なデータを分析し、価値ある洞察や知見を得ようとする取り組み
代表的な会社としてGoogle, amazon, FACEBOOK等のIT業界がリード Google :毎月900億回のweb検索の為に600ペタバイトのデータを処理 FACEBOOK:30ペタ以上のデータを保有 以前から大量のデータ分析で業績を向上させる企業は以前も存在した 売上や在庫データなどを分析し優位につながる知見を導き出す 「ビジネス・インテリジェンス」(BI)は存在した 例:ウォルマート
6
注意すべきこと 1 従来の売上高や在庫量など構造化された数値データの他に ウェブのクリックストリームデータやソーシャルデータ等、従来のリレーショナル・データ ベースに収まらない非構造化データを使用している 2 ウェブ企業やソーシャル企業に移る → 扱うデータの多様性・データの発生頻度が大きく違う 現在のビッグデータの蓄積・処理技術の大半は ウェブ企業・ソーシャルメディア企業が生み出してきた 例: Hadoop NoSQLなど 「DATA is the new oil」活用せずに破棄してきたデータの中にお宝が埋まっている 2012年 ビッグデータの利活用を目的にした研究開発に2億ドル ビッグデータの専門家を養成する大学院の設立
7
ビッグデータの定義 「ビッグデータとは、既存の一般的な技術では管理するのが困難な大量のデータ群である」 ビッグデータの特性 3V 1 Volume データ量 2 Variety 多様性 従来の構造化データ・テキストデータ・画像や動画等 3 Velocity 速度(データの発生頻度・更新頻度) 全国の道路に設置された渋滞検知センサー・路面状況センサー 日本だとSuicaやPASMOの電子マネーもビッグデータと呼んでも良い Volume BIG DATA Variety Velocity
8
広義のビッグデータ データサイエンティスト Hadoop NoSQL 人材・組織 機械学習 統計解析 データ処理・ 蓄積・分析技術
非構造化データ 構造化データ 狭義のビッグデータ 広義のビッグデータ データサイエンティスト Hadoop NoSQL 機械学習 統計解析
9
なぜ今ビッグデータなのか 我々の生活から密着した分野から生成されるようになった
なぜ今ビッグデータなのか 元々ボリュームという概念に限って言えば「ビッグデータ」という考え方は存在した ・ボーイング(航空会社) ・NASA 我々の生活から密着した分野から生成されるようになった ハードウェア価格性能比の向上 ソフトウェア技術の進化 コンピュータの価格性能比の向上 (ムーアの法則) ディスク価格の下落 データ蓄積装置の価格の下落(クライダーの法則) Hadoopの登場 処理環境を自前で用意する必要がなくなった(クラウドコンピュータ)
10
将来予測 現状分析から 将来予測へ 高 低 これから何が起こるのか? 貢献度 今、何が起こっているのか? なぜ起きたのか? 何が起きたのか?
予測分析 最適化 (データマイニング) なぜ起きたのか? モニタリング (ダッシュボード スコアカード) 多次元分析 (Excel) 何が起きたのか? 低 1980年代 1990年代 2000年代 2010年代
11
Hadoopとは 「大規模なデータを処理するための並列分散処理」 2003・2004年にGoogleが巨大な検索エンジンを支える技術を発表
主な利用用途: ログ解析・レコメンデーションエンジン・検索エンジン 企業 : 米Yahoo!・FaceBook・楽天・Amazon Hadoopのコンセプト 並列分散処理の技術を誰もが使える「汎用的な」形で提供すること (現に特殊なサーバーやストレージは必要なく、Javaでプログラム) 処理内容 Google Hadoop 分散ファイルシステム GFS: GoogleFileSystem HDFS: HadoopDistributedFS 分散処理フレームワーク MapReduce Hadoop MapReduce
12
Hadoop適用例 画像変換 巨大な動画データのフォーマットを変換する場合、大量のデータを小分けにし、変換 後のデータを結合することで一つのファイルに戻すことができる 統計的機械翻訳 ある自然言語を別の自然言語に変換する技術 統計的な手法を必要とし、その為に大量の計算が必要 機械学習 一定のデータを元に解析を行い、そのデータから有益なルールや傾向を見出す 音声認識や文字認識といったパターン認識・証券取引市場の動向分析 データマイニング 大量に蓄積されたデータを分析し、その中に隠れている項目間の相互関係やパ ターンを探し出す
13
適用領域 2. Hadoopでは一度にまとめて大量のデータを扱うため、一度だけ格納し参照することで集計処理を行う
項目 RDBMS Hadoop 1. 扱うデータサイズ ~数テラバイト ペタバイト 2. 想定するデータ操作 小さなデータの参照 大きなデータの挿入/参照 更新はない 3. レスポンスタイム 速い 遅い 4. サーバー台数と性能向上策 1桁台数でスケールアップ 数十台~数千台でスケールアウト 5. データ構造 構造化データ 準構造化データ 2. Hadoopでは一度にまとめて大量のデータを扱うため、一度だけ格納し参照することで集計処理を行う 4. スケールアップ: 一台のサーバーの能力を増強する スケールアウト: サーバーを追加することで能力を増強する Hadoopの特徴 テラバイト以上のデータのバッチ処理に向く 拡張性に優れる 柔軟なデータ構造に対応可能
14
Hadoopの構成 「HDFS」: 分散ファイルシステム 「MapReduce」:並列分散処理フレームワーク
それぞれ「マスターサーバー」と「スレーブサーバー」が存在 マスターサーバー:クラスタ全体を管理 スレーブサーバー:複数台ならんで実際の処理を行う HDFS :NameNode メタデータの管理 :DataNode データの読み書き MapReduce :JobTracker 一つのジョブをタスクに分割し、スレーブサーバーに対し 処理を割り振る :TaskTracker タスクを実行し応答 マスターサーバー スレーブサーバー HDFS NameNode DataNode MapReduce JobTracker TaskTracker
15
分散ファイル処理システム HDFS HDFS Hadoop Distribute FileSystem : Hadoop分散ファイルシステム
DataNode内のデータは「ブロック」と呼ばれる 固定長に区切られた塊ごとに管理される デフォルトで64MB 大きなファイルを効率よく扱うため 各ブロックは1つのDataNodeのみに 配置されるのではなく 複数のDataNodeに配置 (レプリケーション デフォルトで3つ) HDFSクライアント NameNode(マスターサーバ) DataNode 各DataNodeが持つストレージをまとめてひとつのストレージを構成 HDFS
16
NameNode HDFSクラスタ全体を集中管理するサーバー 1 メタデータの管理 メタデータを元に、各DataNodeに分散している各ブロックからファイルを組み立てる 2 HDFSの使用状況の確認 各DataNodeの領域の使用状況を見ている 3 クライアントからのHDFSの操作の受付 4 DataNodeの死活管理 一定間隔でDataNodeからNameNodeに生存を伝えるパケットが送られる (ハートビート) 5 レプリカの数の制御
17
HDFSの利点 1 巨大なファイルを扱える 2 容量にスケーラビリティがある
1 巨大なファイルを扱える 2 容量にスケーラビリティがある 3 DataNodeの一部が故障しても、ファイルの損失を回避できる 4 シーケンシャルアクセスによる高いスループット 複数のディスクにファイルを分割して格納する scalablity : (寸法・割合などが)変更できること スレーブノードであるDataNodeを追加することで、HDFSの容量を自由に拡張できる レプリケーション : 複数のDataNodeがブロックのレプリカを持っている ラックアウェアネス: レプリカを持つDataNodeを上手く振り分ける機能 BuckupNode: NameNodeが故障した場合のサポート
18
HDFSの利点(2) 4 シーケンシャルアクセスによる高いスループット 大きなファイルにシーケンシャルアクセスすることに最適化されている (64MB) HDFSは一度格納されたファイルは読み出すだけのアクセスパターンを想定して いる為、更新ができない
20
MapReduceフレームワーク MapReduce: Google社によって提案された分散処理アルゴリズム
大規模なデータを分散処理するのに都合の良いように 「Map処理」と「Reduce処理」の2つのフェーズがある Map処理 データから処理の元にKeyとValueの組を抽出する処理 Reduce処理 抽出されたKeyとValueから目的の結果(Key,Value)を得るための処理 JobTracker :分散処理を指示 TaskTracke :実際にMap処理やReduce処理を行う マスターサーバー スレーブサーバー HDFS NameNode DataNode MapReduce JobTracker TaskTracker
21
MapReduceの例 例:「to be or not to be」 Map処理 入力データから何かを抽出する この場合出現した単語をKey,数字「1」をValue “to be or not to be” Map処理 be 1 to 1 be 1 or 1 not 1 to 1
22
中間処理(ソート) ある単語が何回登場したかをカウントしやすくするための前処理 として、同じ単語をまとめることでカウントしやすくする
to 1 be 1 or 1 not 1 to 1 be 1 to be or not to 1 to 1 be 1 be 1 or 1 not 1
23
Reduce処理 be 1 be 1 to 1 to 1 or 1 not 1 to be or not 2 2 1 1
24
分散処理 “to be or not to be” Mapフェーズ “to be” “or not” “to be” to 1 be 1
Shuffle & Sort フェーズ Reduce フェーズ to 2 be 2 or 1 not 1
25
MapReduce フレームワークの構成 Jobクライアント 進捗状況報告 ジョブの依頼 完了通知 優先度変更 JobTracker
(マスターノード) 処理割り当て 生存確認 TaskTracker TaskTracker TaskTracker
26
MapReduceの特徴 高いスケーラビリティを持つ Mapフェイズへの入力データは分割可能な入力データを使用
Reduceフェーズは集約したKeyごとに集約する 処理の継続性が高い JobTrackerがすべてのジョブと処理の進捗を管理している 1つに異常が発生した場合、他に再度同じ処理を割り当てる データの局所性を考慮した処理コストの低減 極力TaskTrackerと同じノードで起動しているHDFSのDataNodeのデータを利用
27
JobTrackerの役割 分散処理を制御するためのマスターサーバとして動作するJavaのプロセス 1 Jobの受付: JobClientから送られてきたMapReduceジョブの情報を元に Map処理で利用する入力データの分割方針を決定します 2 処理の割り当て 3 分割処理の情報把握 4 Map処理結果把握 5 処理割り当て 6 ブラックリスト化 7 処理の投機的実行 8 ジョブ履歴管理 9 ジョブ進捗通知 10 TaskTracker死活管理 11 TaskTracker追加
28
TaskTrackerの役割 JobTracker:司令塔とすると TaskTracker:駒 1 Childプロセスの生成と実行 2 Childプロセスの状況確認 3 処理停止の通知 4 ハートビート通信 5 Map処理数とReduce処理数の把握 実際にMap処理/Reduce処理を実行 処理割り当て 資材/設定 プロセス生成 Child JobTracker TaskTracker Heartbeat 処理状況
29
連携動作
30
国内のビッグデータ活用 コマツ 建設機械メーカー 「KOMTRAX」 初期バージョン:レンタル会社の重機にGPSを搭載し、位置情報と稼働時間を把握 →配車を効率的 盗難がなくなる 建設機械にGPSや各種センサーを取り付ける 機械の現在位置・稼働時間・稼働状況・消耗品の交換時期などを取得 燃料使用量を見る→顧客別の運転の仕方を分析 →多く燃料を使用している顧客に対しアドバイス GPS:地域別の機械の稼働時間を把握することで需要動向を予測
31
リクルート ネット領域の売り上げは全体の3分の1を占める ほぼ全社でHadoopを活用 下記のレコメンドツール・集客施策の効率化 Hadoopの開発・データ分析を行う全社横断組織が存在する
1週間 1年半分 マイニングツールでレコメンドを計算 Hadoop でレコメンドを計算 約8万人に配信 約20万人に配信
32
リクルートが考えるHadoopの真価 1 高速処理ができるゆえに、何度でもトライ&エラーを繰り返すことができる これまでの分析はデータ整備/集計の処理時間・方向転換に非常に時間が掛かる Hadoopの導入により 仮説→ローデータ作成→集計→分析 この一連のサイクルが短縮 2 サンプリングに頼らないロングテール部の解析が可能 仮説の検証にすべてのデータを用いることが可能となった 「Hadoopを使えば今までできなかったことができそう」
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.