SlideShare a Scribd company logo
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 /
⾃自⼰己紹介 
須⽥田幸憲(@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 /
セランの事業紹介 
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 /
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 /
課題への対処 
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 
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 
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 /
課題への対処 
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 /
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 /
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 /
課題への対処 
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 /
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 
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 /
顧客データ分離離+フォーマット変換 
• パーティションが異異なる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 
Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
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 /
ご静聴ありがとうございました 
 
Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /

More Related Content

What's hot

Impala概要 道玄坂LT祭り 20150312 #dogenzakalt
Impala概要 道玄坂LT祭り 20150312 #dogenzakaltImpala概要 道玄坂LT祭り 20150312 #dogenzakalt
Impala概要 道玄坂LT祭り 20150312 #dogenzakalt
Cloudera Japan
 
Kuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakaltKuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakalt
Toshihiro Suzuki
 
Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018
Cloudera Japan
 
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebminingImpala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
Sho Shimauchi
 
HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用
Toshihiro Suzuki
 
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
Cloudera Japan
 
Introduction to Impala ~Hadoop用のSQLエンジン~ #hcj13w
Introduction to Impala ~Hadoop用のSQLエンジン~ #hcj13wIntroduction to Impala ~Hadoop用のSQLエンジン~ #hcj13w
Introduction to Impala ~Hadoop用のSQLエンジン~ #hcj13w
Cloudera Japan
 
Evolution of Impala #hcj2014
Evolution of Impala #hcj2014Evolution of Impala #hcj2014
Evolution of Impala #hcj2014
Cloudera Japan
 
HAWQをCDHで動かしてみた
HAWQをCDHで動かしてみたHAWQをCDHで動かしてみた
HAWQをCDHで動かしてみた
adachij2002
 
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Hadoop / Spark Conference Japan
 
20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw
Kohei KaiGai
 
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
Cloudera Japan
 
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
NTT DATA OSS Professional Services
 
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
オラクルエンジニア通信
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Cloudera Japan
 
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
MapR Technologies Japan
 
CDHの歴史とCDH5新機能概要 #at_tokuben
CDHの歴史とCDH5新機能概要 #at_tokubenCDHの歴史とCDH5新機能概要 #at_tokuben
CDHの歴史とCDH5新機能概要 #at_tokuben
Cloudera Japan
 
HBaseサポート最前線 #hbase_ca
HBaseサポート最前線 #hbase_caHBaseサポート最前線 #hbase_ca
HBaseサポート最前線 #hbase_ca
Cloudera Japan
 
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practiceマルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
Hadoop / Spark Conference Japan
 
HDFS Supportaiblity Improvements
HDFS Supportaiblity ImprovementsHDFS Supportaiblity Improvements
HDFS Supportaiblity Improvements
Cloudera Japan
 

What's hot (20)

Impala概要 道玄坂LT祭り 20150312 #dogenzakalt
Impala概要 道玄坂LT祭り 20150312 #dogenzakaltImpala概要 道玄坂LT祭り 20150312 #dogenzakalt
Impala概要 道玄坂LT祭り 20150312 #dogenzakalt
 
Kuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakaltKuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakalt
 
Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018
 
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebminingImpala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
 
HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用
 
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
 
Introduction to Impala ~Hadoop用のSQLエンジン~ #hcj13w
Introduction to Impala ~Hadoop用のSQLエンジン~ #hcj13wIntroduction to Impala ~Hadoop用のSQLエンジン~ #hcj13w
Introduction to Impala ~Hadoop用のSQLエンジン~ #hcj13w
 
Evolution of Impala #hcj2014
Evolution of Impala #hcj2014Evolution of Impala #hcj2014
Evolution of Impala #hcj2014
 
HAWQをCDHで動かしてみた
HAWQをCDHで動かしてみたHAWQをCDHで動かしてみた
HAWQをCDHで動かしてみた
 
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
 
20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw
 
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
「新製品 Kudu 及び RecordServiceの概要」 #cwt2015
 
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
 
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
 
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
事例から見るNoSQLの使い方 - db tech showcase Tokyo 2015 2015/06/11
 
CDHの歴史とCDH5新機能概要 #at_tokuben
CDHの歴史とCDH5新機能概要 #at_tokubenCDHの歴史とCDH5新機能概要 #at_tokuben
CDHの歴史とCDH5新機能概要 #at_tokuben
 
HBaseサポート最前線 #hbase_ca
HBaseサポート最前線 #hbase_caHBaseサポート最前線 #hbase_ca
HBaseサポート最前線 #hbase_ca
 
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practiceマルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
 
HDFS Supportaiblity Improvements
HDFS Supportaiblity ImprovementsHDFS Supportaiblity Improvements
HDFS Supportaiblity Improvements
 

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

Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
Dai Utsui
 
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreadingApache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Yahoo!デベロッパーネットワーク
 
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
Insight Technology, Inc.
 
Beginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning HadoopBeginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning Hadoop
DataWorks Summit
 
とある AWS サービスの運用移管〜データストア編〜 #jawsmeguro
とある AWS サービスの運用移管〜データストア編〜 #jawsmeguroとある AWS サービスの運用移管〜データストア編〜 #jawsmeguro
とある AWS サービスの運用移管〜データストア編〜 #jawsmeguro
IKEDA Kiyoshi
 
Hadoop operation chaper 4
Hadoop operation chaper 4Hadoop operation chaper 4
Hadoop operation chaper 4
Yukinori Suda
 
Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019
MKT-INTHEFOREST
 
Hivemall v0.3の機能紹介@1st Hivemall meetup
Hivemall v0.3の機能紹介@1st Hivemall meetupHivemall v0.3の機能紹介@1st Hivemall meetup
Hivemall v0.3の機能紹介@1st Hivemall meetupMakoto Yui
 
最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの
cyberagent
 
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
Yahoo!デベロッパーネットワーク
 
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
NTT DATA OSS Professional Services
 
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
NTT DATA OSS Professional Services
 
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか by 日本ヒューレット・パッカード株式会社 後藤宏
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか  by 日本ヒューレット・パッカード株式会社 後藤宏[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか  by 日本ヒューレット・パッカード株式会社 後藤宏
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか by 日本ヒューレット・パッカード株式会社 後藤宏
Insight Technology, Inc.
 
DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -
Tomoya Kabe
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Treasure Data, Inc.
 
大規模HDFS & ErasureCoding#yjdsw3
大規模HDFS & ErasureCoding#yjdsw3大規模HDFS & ErasureCoding#yjdsw3
大規模HDFS & ErasureCoding#yjdsw3
Yahoo!デベロッパーネットワーク
 
DeNAでのVertica運用
DeNAでのVertica運用DeNAでのVertica運用
DeNAでのVertica運用
Shota Suzuki
 
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
Insight Technology, Inc.
 
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
Makoto Sato
 
AI/MLシステムにおけるビッグデータとの付き合い方
AI/MLシステムにおけるビッグデータとの付き合い方AI/MLシステムにおけるビッグデータとの付き合い方
AI/MLシステムにおけるビッグデータとの付き合い方
Shota Suzuki
 

Similar to Cloudera Impalaをサービスに組み込むときに苦労した話 (20)

Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreadingApache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
 
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
 
Beginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning HadoopBeginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning Hadoop
 
とある AWS サービスの運用移管〜データストア編〜 #jawsmeguro
とある AWS サービスの運用移管〜データストア編〜 #jawsmeguroとある AWS サービスの運用移管〜データストア編〜 #jawsmeguro
とある AWS サービスの運用移管〜データストア編〜 #jawsmeguro
 
Hadoop operation chaper 4
Hadoop operation chaper 4Hadoop operation chaper 4
Hadoop operation chaper 4
 
Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019
 
Hivemall v0.3の機能紹介@1st Hivemall meetup
Hivemall v0.3の機能紹介@1st Hivemall meetupHivemall v0.3の機能紹介@1st Hivemall meetup
Hivemall v0.3の機能紹介@1st Hivemall meetup
 
最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの
 
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
 
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
 
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
 
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか by 日本ヒューレット・パッカード株式会社 後藤宏
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか  by 日本ヒューレット・パッカード株式会社 後藤宏[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか  by 日本ヒューレット・パッカード株式会社 後藤宏
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか by 日本ヒューレット・パッカード株式会社 後藤宏
 
DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
 
大規模HDFS & ErasureCoding#yjdsw3
大規模HDFS & ErasureCoding#yjdsw3大規模HDFS & ErasureCoding#yjdsw3
大規模HDFS & ErasureCoding#yjdsw3
 
DeNAでのVertica運用
DeNAでのVertica運用DeNAでのVertica運用
DeNAでのVertica運用
 
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
 
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
 
AI/MLシステムにおけるビッグデータとの付き合い方
AI/MLシステムにおけるビッグデータとの付き合い方AI/MLシステムにおけるビッグデータとの付き合い方
AI/MLシステムにおけるビッグデータとの付き合い方
 

More from Yukinori Suda

Hadoopエコシステムを駆使したこれからのWebアクセス解析サービス
Hadoopエコシステムを駆使したこれからのWebアクセス解析サービスHadoopエコシステムを駆使したこれからのWebアクセス解析サービス
Hadoopエコシステムを駆使したこれからのWebアクセス解析サービス
Yukinori Suda
 
自宅でHive愛を育む方法 〜Raspberry Pi編〜
自宅でHive愛を育む方法 〜Raspberry Pi編〜自宅でHive愛を育む方法 〜Raspberry Pi編〜
自宅でHive愛を育む方法 〜Raspberry Pi編〜Yukinori Suda
 
⾃宅で Hive 愛を育むための⼿順(Raspberry Pi 編)
⾃宅で Hive 愛を育むための⼿順(Raspberry Pi 編)⾃宅で Hive 愛を育むための⼿順(Raspberry Pi 編)
⾃宅で Hive 愛を育むための⼿順(Raspberry Pi 編)Yukinori Suda
 
Evaluation of cloudera impala 1.1
Evaluation of cloudera impala 1.1Evaluation of cloudera impala 1.1
Evaluation of cloudera impala 1.1
Yukinori Suda
 
Performance Evaluation of Cloudera Impala GA
Performance Evaluation of Cloudera Impala GAPerformance Evaluation of Cloudera Impala GA
Performance Evaluation of Cloudera Impala GA
Yukinori Suda
 
Performance evaluation of cloudera impala 0.6 beta with comparison to Hive
Performance evaluation of cloudera impala 0.6 beta with comparison to HivePerformance evaluation of cloudera impala 0.6 beta with comparison to Hive
Performance evaluation of cloudera impala 0.6 beta with comparison to Hive
Yukinori Suda
 
Performance evaluation of cloudera impala (with Comparison to Hive)
Performance evaluation of cloudera impala (with Comparison to Hive)Performance evaluation of cloudera impala (with Comparison to Hive)
Performance evaluation of cloudera impala (with Comparison to Hive)
Yukinori Suda
 
Cloudera impalaの性能評価(Hiveとの比較)
Cloudera impalaの性能評価(Hiveとの比較)Cloudera impalaの性能評価(Hiveとの比較)
Cloudera impalaの性能評価(Hiveとの比較)
Yukinori Suda
 

More from Yukinori Suda (8)

Hadoopエコシステムを駆使したこれからのWebアクセス解析サービス
Hadoopエコシステムを駆使したこれからのWebアクセス解析サービスHadoopエコシステムを駆使したこれからのWebアクセス解析サービス
Hadoopエコシステムを駆使したこれからのWebアクセス解析サービス
 
自宅でHive愛を育む方法 〜Raspberry Pi編〜
自宅でHive愛を育む方法 〜Raspberry Pi編〜自宅でHive愛を育む方法 〜Raspberry Pi編〜
自宅でHive愛を育む方法 〜Raspberry Pi編〜
 
⾃宅で Hive 愛を育むための⼿順(Raspberry Pi 編)
⾃宅で Hive 愛を育むための⼿順(Raspberry Pi 編)⾃宅で Hive 愛を育むための⼿順(Raspberry Pi 編)
⾃宅で Hive 愛を育むための⼿順(Raspberry Pi 編)
 
Evaluation of cloudera impala 1.1
Evaluation of cloudera impala 1.1Evaluation of cloudera impala 1.1
Evaluation of cloudera impala 1.1
 
Performance Evaluation of Cloudera Impala GA
Performance Evaluation of Cloudera Impala GAPerformance Evaluation of Cloudera Impala GA
Performance Evaluation of Cloudera Impala GA
 
Performance evaluation of cloudera impala 0.6 beta with comparison to Hive
Performance evaluation of cloudera impala 0.6 beta with comparison to HivePerformance evaluation of cloudera impala 0.6 beta with comparison to Hive
Performance evaluation of cloudera impala 0.6 beta with comparison to Hive
 
Performance evaluation of cloudera impala (with Comparison to Hive)
Performance evaluation of cloudera impala (with Comparison to Hive)Performance evaluation of cloudera impala (with Comparison to Hive)
Performance evaluation of cloudera impala (with Comparison to Hive)
 
Cloudera impalaの性能評価(Hiveとの比較)
Cloudera impalaの性能評価(Hiveとの比較)Cloudera impalaの性能評価(Hiveとの比較)
Cloudera impalaの性能評価(Hiveとの比較)
 

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

  • 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. ⾃自⼰己紹介 須⽥田幸憲(@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. セランの事業紹介 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. 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. 課題への対処 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 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 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. 課題への対処 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. 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. 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. 課題への対処 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. 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 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. 顧客データ分離離+フォーマット変換 • パーティションが異異なる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 Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /
  • 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. ご静聴ありがとうございました Copyright © CELL▲NT Corp. All right Reserved. h t t p : / / w w w . x d a t a . j p /