Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Cloudera Impalaをサービスに 
組み込む時に苦労した話 
 
2014年年10⽉月31⽇日 
株式会社セラン RD戦略略室 
須⽥田幸憲 
@sudabon 
Copyright © CELL▲NT Corp. All right...
⾃自⼰己紹介 
須⽥田幸憲(@sudabon) 
株式会社セラン RD戦略略室 室⻑⾧長 
経歴 
l 1997〜~2004 NEC 中央研究所 / ネットワークの研究 
l 2005〜~2006 BIGLOBE / BtoBサービスの開発...
セランの事業紹介 
1. MOBYLOG(モビログ) 
l Webアクセス解析・広告効果測定サービス 
l 2005年年12⽉月にサービス開始 
l PC、スマホ、ケータイ、スマホアプリの計測が可能 
l ケータイでの解析が強み(MOB...
impalaの活⽤用⽅方法と課題 
• Webの⾏行行動履履歴の検索索⽤用データベース 
– サーバ台数に対してリニアにスケールアウト 
– クエリを同時並列列的に実⾏行行した場合でも⾼高速に動作 
– OLAP関数やJOINを含むクエリも⾼高...
課題への対処 
1. メモリ不不⾜足によるクエリ失敗 
– ビッグデータをスモールデータに変換して利利⽤用 
– 管理理画⾯面からの検索索時のみで利利⽤用、集計時は利利⽤用しない 
2. ⾏行行レコードの更更新/削除 
– 追加のデータは別パー...
当初のイメージ 
6 
1つのクラスタに共通のテーブルを作成し、 
⽤用途に応じてクエリエンジンを選択 
アクセスログデータ 
impala / Hive+MapReduce 
HDFS 
Copyright © CELL▲NT Corp. A...
実際に取った⼿手段 
7 
2つのクラスタを作成し、⽤用途に応じてクラスタを選択 
アクセスログデータ 
(ビッグデータ) 
Hive+MapReduce 
HDFS 
サマライズした 
アクセスログデータ 
(スモールデータ) 
impala...
課題への対処 
1. メモリ不不⾜足によるクエリ失敗 
– ビッグデータをスモールデータに変換して利利⽤用 
– 管理理画⾯面からの検索索時のみで利利⽤用、集計時は利利⽤用しない 
2. ⾏行行レコードの更更新/削除 
– 追加のデータは別パー...
xross dataサービスの集計システム構成 
9 
Cloudera 
Managerで 
⼀一括管理理 
ログ 
バッチ 
サーバ 
Hiveクエリでデータ抽出 
Hiveクラスタ 
MapReduce 
(CDH4.6) 
追加のみのデ...
RDBMSからHDFSへのデータコピー 
• Sqoop import -‐‑‒-‐‑‒directでコピー 
• テーブルサイズに応じて 
– サイズ:⼩小 ⇒ テーブル全体をコピー 
– サイズ:⼤大 ⇒ 差分コピー 
• 差分コピー※ 
...
課題への対処 
1. メモリ不不⾜足によるクエリ失敗 
– ビッグデータをスモールデータに変換して利利⽤用 
– 管理理画⾯面からの検索索時のみで利利⽤用、集計時は利利⽤用しない 
2. ⾏行行レコードの更更新/削除 
– 追加のデータは別パー...
HDFSファイルフォーマット 
• Hiveクラスタ 
– Gzip圧縮のTextFile 
• バッチ処理理⽤用なので、クエリの⾼高速性よりも、圧縮率率率と利利便便性を重視 
• impalaクラスタ 
– Snappy圧縮のRCFile 
...
各種フォーマットのパフォーマンス⽐比較 
13 
impala version 1.0 
36.61 
26.083 
29.736 
24.024 
19.586 
16.2 
0510152025303540 
Snappy 
Snappy...
顧客データ分離離+フォーマット変換 
• パーティションが異異なる2つのテーブル 
– 暫定テーブル(変換前) 
• フォーマット:TextFile 
• パーティション 
– 処理理実⾏行行⽇日:YYYYMMDD 
– バッチグループ 
– ...
• ユーザプロファイル 
デモ 
– 様々な条件に合致する顧客を⾼高速に抽出可能 
• ファネル分析 
– 様々な条件に合致するセッション数と顧客を⾼高速に抽出可能 
15 
Copyright © CELL▲NT Corp. All righ...
impala 2.0リリース 
• 2014/10/14リリース 
– EXISTS句句、IN句句内のサブクエリをサポート 
– RANK()、LAG()、LEAD()などの解析関数をサポート 
– get_̲json_̲objectはマイルス...
ご静聴ありがとうございました 
 
Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
Prochain SlideShare
Chargement dans…5
×

Cloudera Impalaをサービスに組み込むときに苦労した話

5 783 vues

Publié le

Impala Meetupで発表した資料

Publié dans : Internet
  • Soyez le premier à commenter

Cloudera Impalaをサービスに組み込むときに苦労した話

  1. 1. Cloudera Impalaをサービスに 組み込む時に苦労した話 2014年年10⽉月31⽇日 株式会社セラン RD戦略略室 須⽥田幸憲 @sudabon Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
  2. 2. ⾃自⼰己紹介 須⽥田幸憲(@sudabon) 株式会社セラン RD戦略略室 室⻑⾧長 経歴 l 1997〜~2004 NEC 中央研究所 / ネットワークの研究 l 2005〜~2006 BIGLOBE / BtoBサービスの開発 SNIP l 2012/8〜~ 現職 Hadoop歴:約2年年半 好きなHadoopエコシステム:Hive 2 Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
  3. 3. セランの事業紹介 1. MOBYLOG(モビログ) l Webアクセス解析・広告効果測定サービス l 2005年年12⽉月にサービス開始 l PC、スマホ、ケータイ、スマホアプリの計測が可能 l ケータイでの解析が強み(MOBYLOG ENGINE) • 旧Omniture社(現Adobe社)のSiteCatalyst、及びWebTrends社 のWebTrends AnalyticsにモジュールとしてOEM提供 2. xross data(クロスデータ) l LITEなマーケティング・オートメーション・ツール l 2014年年8⽉月にサービス開始 l Webの⾏行行動履履歴から顧客をセグメントして、 メール・リマーケティングするためのツール 3 Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
  4. 4. impalaの活⽤用⽅方法と課題 • Webの⾏行行動履履歴の検索索⽤用データベース – サーバ台数に対してリニアにスケールアウト – クエリを同時並列列的に実⾏行行した場合でも⾼高速に動作 – OLAP関数やJOINを含むクエリも⾼高速に動作 例例)過去1ヶ⽉月間の訪問回数が X 回以上で、且つ... • 課題 1. メモリ量量以上のデータ量量を処理理するとクエリが失敗する 2. ⾏行行単位での更更新/削除が不不可 3. クエリ⾼高速化のためにはフォーマット変換が必要 4. EXISTS、IN句句内サブクエリ、get_̲json_̲objectがない 4 Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
  5. 5. 課題への対処 1. メモリ不不⾜足によるクエリ失敗 – ビッグデータをスモールデータに変換して利利⽤用 – 管理理画⾯面からの検索索時のみで利利⽤用、集計時は利利⽤用しない 2. ⾏行行レコードの更更新/削除 – 追加のデータは別パーティションに挿⼊入 – 更更新/削除が必要なデータはRDBMSを介して上書き 3. フォーマット変換 – 顧客のデータを分離離する際にフォーマットも変換 • バッチの処理理時間の制約により、複数顧客を⼀一括処理理 • しかし、データサイズが⼤大きいため、データ分離離が必要 5 Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
  6. 6. 当初のイメージ 6 1つのクラスタに共通のテーブルを作成し、 ⽤用途に応じてクエリエンジンを選択 アクセスログデータ impala / Hive+MapReduce HDFS Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
  7. 7. 実際に取った⼿手段 7 2つのクラスタを作成し、⽤用途に応じてクラスタを選択 アクセスログデータ (ビッグデータ) Hive+MapReduce HDFS サマライズした アクセスログデータ (スモールデータ) impala HDFS Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
  8. 8. 課題への対処 1. メモリ不不⾜足によるクエリ失敗 – ビッグデータをスモールデータに変換して利利⽤用 – 管理理画⾯面からの検索索時のみで利利⽤用、集計時は利利⽤用しない 2. ⾏行行レコードの更更新/削除 – 追加のデータは別パーティションに挿⼊入 – 更更新/削除が必要なデータはRDBMSを介して上書き 3. フォーマット変換 – 顧客のデータを分離離する際にフォーマットも変換 • バッチの処理理時間の制約により、複数顧客を⼀一括処理理 • しかし、データサイズが⼤大きいため、データ分離離が必要 8 Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
  9. 9. xross dataサービスの集計システム構成 9 Cloudera Managerで ⼀一括管理理 ログ バッチ サーバ Hiveクエリでデータ抽出 Hiveクラスタ MapReduce (CDH4.6) 追加のみのデータ更更新・削除が必要なデータ データコピー Hive impala 1.4 (CDH5.1)RDBMS impalaクラスタ 管理理 画⾯面 WebHDFS クエリ Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
  10. 10. RDBMSからHDFSへのデータコピー • Sqoop import -‐‑‒-‐‑‒directでコピー • テーブルサイズに応じて – サイズ:⼩小 ⇒ テーブル全体をコピー – サイズ:⼤大 ⇒ 差分コピー • 差分コピー※ 1. テーブルをコピー(base_̲t) 2. Sqoop importでRDBMSから差分コピー(temp_̲t) 3. base_̲tとtemp_̲tからマージしてVIEWを作成(view_̲t) 4. view_̲tのデータで元のテーブルを上書き 注)⾏行行の削除が発⽣生する場合は削除フラグのカラムを設置 ※ Four Steps Strategy for Incremental Updates in Apache Hive on Hadoop http://jp.hortonworks.com/blog/four-‐‑‒step-‐‑‒strategy-‐‑‒incremental-‐‑‒updates-‐‑‒hive/ 10 Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
  11. 11. 課題への対処 1. メモリ不不⾜足によるクエリ失敗 – ビッグデータをスモールデータに変換して利利⽤用 – 管理理画⾯面からの検索索時のみで利利⽤用、集計時は利利⽤用しない 2. ⾏行行レコードの更更新/削除 – 追加のデータは別パーティションに挿⼊入 – 更更新/削除が必要なデータはRDBMSを介して上書き 3. フォーマット変換 – 顧客のデータを分離離する際にフォーマットも変換 • バッチの処理理時間の制約により、複数顧客を⼀一括処理理 • しかし、データサイズが⼤大きいため、データ分離離が必要 11 Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
  12. 12. HDFSファイルフォーマット • Hiveクラスタ – Gzip圧縮のTextFile • バッチ処理理⽤用なので、クエリの⾼高速性よりも、圧縮率率率と利利便便性を重視 • impalaクラスタ – Snappy圧縮のRCFile • ⾼高速性のみを重視(ParquetFile+Snappyの次に⾼高速) • データ依存だが、ParquetFile+Snappyの場合、正規表現での検索索 クエリで様々な問題が発⽣生(クラッシュ、ノーレス、エラー) • ユーザMLにはすべて報告済み 12 Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
  13. 13. 各種フォーマットのパフォーマンス⽐比較 13 impala version 1.0 36.61 26.083 29.736 24.024 19.586 16.2 0510152025303540 Snappy Snappy Gzip Snappy Gzip No Comp. Parquet File FileRCFile Sequence Text File Avg. Job Latency [sec] cf. Performance Evaluation of Cloudera Impala GA http://www.slideshare.net/sudabon/performance-‐‑‒evaluation-‐‑‒of-‐‑‒cloudera-‐‑‒impala-‐‑‒ga Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
  14. 14. 顧客データ分離離+フォーマット変換 • パーティションが異異なる2つのテーブル – 暫定テーブル(変換前) • フォーマット:TextFile • パーティション – 処理理実⾏行行⽇日:YYYYMMDD – バッチグループ – サービス⽤用のテーブル(変換後) • フォーマット:Snappy圧縮のRCFile • パーティション – 処理理実⾏行行⽇日:YYYYMMDD – 顧客ID • 2つのテーブル間でデータ移設 変換前のデータ群 グループ #1 顧客10社 A 社 – ⾼高速なクエリを実現するフォーマットに変換 – サイズの⼤大きいデータを、⼩小さいデータに変換 14 グループ #2 顧客10社 グループ #3 顧客10社 グループ #4 顧客10社 B 社 C 社・・・・・X 社 変換後のデータ群 Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
  15. 15. • ユーザプロファイル デモ – 様々な条件に合致する顧客を⾼高速に抽出可能 • ファネル分析 – 様々な条件に合致するセッション数と顧客を⾼高速に抽出可能 15 Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
  16. 16. impala 2.0リリース • 2014/10/14リリース – EXISTS句句、IN句句内のサブクエリをサポート – RANK()、LAG()、LEAD()などの解析関数をサポート – get_̲json_̲objectはマイルストーンに含まれる – ”spill to disk”メカニズムの導⼊入 ⇒ OutOfMemoryから解放 • ただ、User MLを⾒見見ていると... – Regexp_̲Replace/Extractにバグが... – 2.0に移⾏行行すると、パフォーマンス劣劣化が... じっくり検証し、将来的にはimpala 2.0へ移⾏行行予定 16 Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
  17. 17. ご静聴ありがとうございました Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /

×