More Related Content
More from Cloudera Japan (20)
データドリブン企業における、hadoop基盤とETL #hcj2016
- 1. 1© Cloudera, Inc. All rights reserved.
データドリブン企業における
Hadoop基盤とETL
〜~niconicoでの実践例例〜~
Cloudera株式会社 嶋内 翔
株式会社ドワンゴ 共通基盤開発部 志村 誠
- 2. 2© Cloudera, Inc. All rights reserved.
⾃自⼰己紹介
• 嶋内 翔(しまうち しょう)
• テクニカルエバンジェリスト
• 2011年年4⽉月にClouderaの最初の⽇日本⼈人社員として⼊入社
• お客様がCloudera製品を活⽤用できるように⼀一緒に議論論するのがメインの
仕事
• email: sho@cloudera.com
• twitter: @shiumachi
- 3. 3© Cloudera, Inc. All rights reserved.
エンタープライズセールス
⼤大規模システムに関わる営業ができ
る⼈人歓迎
セールスエンジニア
技術の価値を伝えることに興味があ
る⼈人歓迎
We are hiring!
http://www.cloudera.co.jp/company/careers.html
career-‐‑‒jp@cloudera.com
または、Cloudera社員に直接話しかけよう!
- 4. 4© Cloudera, Inc. All rights reserved.
前半アジェンダ
• ETLとは?
• データウェアハウス + Hadoop
• Hadoopとエンタープライズデータハブ(EDH)
• HadoopとETL
• 従来のETLとの違い
• 事例例: Kaiser Permanente
- 5. 5© Cloudera, Inc. All rights reserved.
• Extract -‐‑‒ 単⼀一あるいは複数のデー
タソースからのデータの抽出
• Transform -‐‑‒ ビジネスニーズに応
じてデータを変換
• Load -‐‑‒ 最終ターゲットにデータを
ロード
• データの前処理理
• クレンジング
• 正規化
• 特にHadoopで「バッチ処理理」と
呼ばれている処理理の⼤大多数
• ⽇日次集計バッチなど
これらは全てETLです
ETLとは?
- 6. 6© Cloudera, Inc. All rights reserved.
データウェアハウス
ETLシステム
• 抽出
• 変換
• 共通化
プレゼンテーション層
• 共通ディメンショ
ン
• ファクトテーブル
BIアプリケーション
• 業務レポート
• 分析アプリケー
ション
• ダッシュボード
データソース
• RDBMS
• フラットファイル
• XML / JSON
• メッセージキュー
• プロプライエタリ
なデータフォー
マット
DWH バックルーム DWH フロントルーム
- 7. 7© Cloudera, Inc. All rights reserved.
データウェアハウス + Hadoop
ETLシステム
• 抽出
• 変換
• 共通化
プレゼンテーション層
• 共通ディメンショ
ン
• ファクトテーブル
BIアプリケーション
• 業務レポート
• 分析アプリケー
ション
• ダッシュボード
• ⼀一般的な⽤用途のプ
ログラム
データソース
• RDBMS
• フラットファイル
• XML / JSON
• メッセージキュー
• プロプライエタリ
なデータフォー
マット
• 複雑構造のデータ
• ⾮非構造化テキスト
• 画像、ビデオ
• キーバリューペア
DWH バックルーム DWH フロントルーム
- 8. 8© Cloudera, Inc. All rights reserved.
Hadoopを基盤とした、新しいデー
タプラットフォーム
• 安価にスケール可能
• あらゆるワークロードを単⼀一のプ
ラットフォームで実現
• 無制限のデータ
Hadoopとエンタープライズデータハブ(EDH)
STRUCTURED
Sqoop
UNSTRUCTURED
Kafka, Flume
PROCESS, ANALYZE, SERVE
UNIFIED SERVICES
RESOURCE
MANAGEMENT
YARN
SECURITY
Sentry, RecordService
FILESYSTEM
HDFS
RELATIONAL
Kudu
NoSQL
HBase
STORE
INTEGRATE
BATCH
Spark, Hive, Pig
MapReduce
STREAM
Spark
SQL
Impala
SEARCH
Solr
SDK
Kite
- 9. 9© Cloudera, Inc. All rights reserved.
データは準備しなければ使えない
Hadoopの特⻑⾧長?
分散処理理・分散ストレージ -‐‑‒ アーキテクチャに着⽬目
ビッグデータ、⾼高度度な機械学習 -‐‑‒ ユースケースに着⽬目
- 10. 10© Cloudera, Inc. All rights reserved.
データは準備しなければ使えない
Hadoopの特⻑⾧長?
分散処理理・分散ストレージ -‐‑‒ アーキテクチャに着⽬目
ビッグデータ、⾼高度度な機械学習 -‐‑‒ ユースケースに着⽬目
Hadoopを使えばETLバックルームのアーキテクチャは⼤大きく変わる
- 11. 12© Cloudera, Inc. All rights reserved.
HadoopとETL(1): データ取込みレイヤ
STRUCTURED
Sqoop
UNSTRUCTURED
Kafka, Flume
PROCESS, ANALYZE, SERVE
UNIFIED SERVICES
RESOURCE
MANAGEMENT
YARN
SECURITY
Sentry, RecordService
FILESYSTEM
HDFS
RELATIONAL
Kudu
NoSQL
HBase
STORE
INTEGRATE
BATCH
Spark, Hive, Pig
MapReduce
STREAM
Spark
SQL
Impala
SEARCH
Solr
SDK
Kite
Apache Sqoop: SQL to Hadoop
• 効率率率的な双⽅方向のデータバルクロード
• RDBMS / EDW / NoSQL ⽤用の無償のカスタムコネクタを利利
⽤用可能
Apache Flume: Hadoop⽤用ログ収集ソフト
• ⼤大量量のストリーミング/ログデータを移動可能
• 信頼性、スケーラビリティ、管理理性、拡張性が⾼高い
• 複数のシステムからデータを収集しやすい
Apache Kafka: Hadoop⽤用Pub-‐‑‒Subメッセージン
グ
• 多数の「プロデューサ」から多数の「コンシューマ」へデー
タを移動可能
• 幅広い⽤用途に対し最も柔軟にサポート
• Flume / HBase / Spark などと統合
- 12. 13© Cloudera, Inc. All rights reserved.
HadoopとETL(2): HDFSとHiveメタストア
STRUCTURED
Sqoop
UNSTRUCTURED
Kafka, Flume
PROCESS, ANALYZE, SERVE
UNIFIED SERVICES
RESOURCE
MANAGEMENT
YARN
SECURITY
Sentry, RecordService
FILESYSTEM
HDFS
RELATIONAL
Kudu
NoSQL
HBase
STORE
INTEGRATE
BATCH
Spark, Hive, Pig
MapReduce
STREAM
Spark
SQL
Impala
SEARCH
Solr
SDK
Kite
ETLにおけるHDFSとHiveメタストア
• HDFS -‐‑‒ データフォーマットを選ばない、すなわちリ
レーショナルテーブルである必要がない
• Hiveメタストア / HCatalog -‐‑‒ オープンで拡張性が⾼高い、
ベンダ固有のテーブルではない
スキーマオンリード
• クエリ実⾏行行側にどうやってデータを活⽤用するのかを決め
させることができる
• 性能を得るために、ビューのマテリアライズを遅延させ
ることができる
• 例例) Parquet File の作成
- 13. 14© Cloudera, Inc. All rights reserved.
HadoopとETL(3): データ変換処理理
STRUCTURED
Sqoop
UNSTRUCTURED
Kafka, Flume
PROCESS, ANALYZE, SERVE
UNIFIED SERVICES
RESOURCE
MANAGEMENT
YARN
SECURITY
Sentry, RecordService
FILESYSTEM
HDFS
RELATIONAL
Kudu
NoSQL
HBase
STORE
INTEGRATE
BATCH
Spark, Hive, Pig
MapReduce
STREAM
Spark
SQL
Impala
SEARCH
Solr
SDK
Kite
Spark / MapReduce
• 分散処理理による⾼高速なバッチ処理理
Hive / Pig / Crunch
• バッチ処理理を記述しやすくするための上位⾔言語
- 14. 15© Cloudera, Inc. All rights reserved.
従来のバックルーム Hadoopによるバックルーム
データソースからの転送が遅い
投⼊入前に物理理的なデータ変換が必要
投⼊入前にクレンジングや正規化が必要
RDBMSテーブルターゲットが必須
メタデータはシステムテーブルに制限
プレゼンテーション層はベンダー固有で
RDBMS SQLにしか対応不不可
バックルームの変化: システム⾯面
- 15. 16© Cloudera, Inc. All rights reserved.
従来のバックルーム Hadoopによるバックルーム
データソースからの転送が遅い データソースからの転送が速い
投⼊入前に物理理的なデータ変換が必要 物理理的なデータ変換はオプション
投⼊入前にクレンジングや正規化が必要 投⼊入前のクレンジングや正規化は⾮非推奨
RDBMSテーブルターゲットが必須 RDBMSテーブルターゲットはオプション
メタデータはシステムテーブルに制限 HCatalogによる拡張性のあるメタデータ
プレゼンテーション層はベンダー固有で
RDBMS SQLにしか対応不不可
プレゼンテーション層は制限がない
• データ変換前に適⽤用してもいい
• 分析アプリケーション毎に固有
• 複数の特徴を同時に持つことが可能
バックルームの変化: システム⾯面
- 16. 17© Cloudera, Inc. All rights reserved.
従来のバックルーム
ETLスタッフのよくある発⾔言
• 「データはまだ準備中」
• 「データはクレンジングが必要」
• 「データガバナンス優先」
• 「エンドユーザは信⽤用できない」
Hadoopによるバックルーム
誰もが⾃自由にデータを使える
• ⾼高いスキルの分析ユーザ
• データサイエンティスト
• ⾃自動化プロセス
• 機械学習アプリケーション
• 実験的なモデル作成
• SQL以外のクライアント
• 全⽂文検索索エンジン
バックルームの変化: チーム⾯面
- 17. 18© Cloudera, Inc. All rights reserved.
HDFS
• ⽣生データ領領域
• ソースデータの完全な複製
• 情報ドメイン毎に整理理
• 変換処理理は⼀一切切⾏行行わない
• 精製済データ領領域
• ユースケース毎に整理理
• 変換済・準備済データセット
• ユーザ定義領領域
• IT部⾨門の準備を待ちたくないユーザは多い
• サンドボックスとしてデータの活⽤用を実験したいユーザ
も多い
• マスターデータ、メタデータ、外部からの参照データな
どは専⽤用領領域に格納
• システム全体をセキュアに
• 認証、ロールベースアクセス制御、暗号化
「次の数年年間で、社内のデータマートをかなりの数減らすことが
できるだろう」
「意思決定のための全ての社内アプリケーションにとっての単⼀一
のデータソースとなることが⽬目標」
Kaiser Permanente の事例例
⽣生データ
領領域
ユーザ定義
領領域
精製済
データ領領域
データレジストリ
(タグ&カタログ)
マスターデータ
メタデータ
使⽤用量量データ
内部参照データ
業界参照データ
データロード
置換
抽出-‐‑‒ロード
コピー
データ抽出
データソース
DWH/DM
データ・セレクション
Hive ImpalaPig Java Python
図は以下の参考資料料を元に作成
http://www.cloudera.com/resources/recordedwebinar/the-‐‑‒future-‐‑‒of-‐‑‒
data-‐‑‒warehousing-‐‑‒-‐‑‒etl-‐‑‒will-‐‑‒never-‐‑‒be-‐‑‒the-‐‑‒same.html