Skip to main content More Related Content
PPTX
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料) PDF
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料) PDF
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 - PDF
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019) PDF
PDF
SolrとElasticsearchを比べてみよう PDF
1000台規模のHadoopクラスタをHive/Tezアプリケーションにあわせてパフォーマンスチューニングした話 PPTX
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka... What's hot
PDF
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~ PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」 PPTX
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料) PPTX
PDF
Apache Impalaパフォーマンスチューニング #dbts2018 PDF
Apache Spark の紹介(前半:Sparkのキホン) PDF
PDF
PDF
PPTX
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ... PPTX
Hive + Tez: A Performance Deep Dive PPTX
Oracleのソース・ターゲットエンドポイントとしての利用 PDF
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料) PPTX
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05) PDF
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料) PDF
Apache Hadoop YARNとマルチテナントにおけるリソース管理 PDF
Deep Dive: Memory Management in Apache Spark PPTX
PPTX
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理 PPTX
[社内勉強会]ELBとALBと数万スパイク負荷テスト Viewers also liked
PDF
僕とヤフーと時々Teradata #prestodb PDF
PDF
PDF
Kafka・Storm・ZooKeeperの認証と認可について #kafkajp PDF
Yahoo! JAPANのCloud Foundry導入状況 PDF
Presto in Yahoo! JAPAN #yjdsnight PDF
Yahoo! JAPANが持つデータ分析ソリューションの紹介 #yjdsnight PDF
PDF
Yahoo!プロモーション広告のビックデータ基盤を支える技術と今後の展望 PDF
Similar to Hive on Tezのベストプラクティス
PDF
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016 PPTX
sparksql-hive-bench-by-nec-hwx-at-hcj16 PDF
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡 PPTX
Hadoop Troubleshooting 101 - Japanese Version PPTX
(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境 PDF
現場の”今”を知る、これからのビッグデータ分析・活用のすすめ PPT
PDF
Hadoop Conference Japan_2016 セッション「顧客事例から学んだ、 エンタープライズでの "マジな"Hadoop導入の勘所」 PDF
PPT
Hadoop ~Yahoo! JAPANの活用について~ PDF
Hadoop Source Code Reading #17 PDF
MapReduce/Spark/Tezのフェアな性能比較に向けて (Cloudera World Tokyo 2014 LT講演) PDF
PDF
PDF
並列分散処理基盤Hadoopの紹介と、開発者が語るHadoopの使いどころ (Silicon Valley x 日本 / Tech x Business ... PDF
[de:code 2017] 並列分散処理の考え方とオープンソース分散処理系の動向 PDF
[DI06] 並列分散処理の考え方とオープンソース分散処理系の動向 PPTX
PDF
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) PDF
Amazon Elastic MapReduceやSparkを中心とした社内の分析環境事例とTips More from Yahoo!デベロッパーネットワーク
PDF
PDF
継続的なモデルモニタリングを実現するKubernetes Operator PDF
ヤフーでは開発迅速性と品質のバランスをどう取ってるか PDF
オンプレML基盤on Kubernetes パネルディスカッション PDF
PDF
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜 PDF
Persistent-memory-native Database High-availability Feature PDF
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2 PDF
eコマースと実店舗の相互利益を目指したデザイン #yjtc PDF
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc PDF
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc PDF
PDF
サイエンス領域におけるMLOpsの取り組み #yjtc PDF
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc PDF
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc PDF
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc PDF
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc PDF
モブデザインによる多職種チームのコミュニケーション改善 #yjtc PDF
「新しいおうち探し」のためのAIアシスト検索 #yjtc PDF
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc Hive on Tezのベストプラクティス
- 1.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
2017年9月15日
大竹 隼人
Hive on Tezのベストプラクティス
- 2.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
アジェンダ
2
・自己紹介
・Hive on Tezとは
・適用システムについて
・性能改善のために
・安定稼働のために
・最後に
- 3.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
アジェンダ
3
・自己紹介
・Hive on Tezとは
・適用システムについて
・性能改善のために
・安定稼働のために
・最後に
- 4.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
自己紹介
4
大竹 隼人
2013年新卒入社
入社以来、広告ログ集計システムの開発、運用を担当
- プロジェクト案件
- システム刷新
- PoC
- CI/CDの導入
- 5.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
アジェンダ
5
・自己紹介
・Hive on Tezとは
・適用システムについて
・性能改善のために
・安定稼働のために
・最後に
- 6.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
Hive on Tezとは
6
Hiveとは
HadoopエコシステムにおけるSQLエンジンの一つ
・SQLに似たHive Query Languageで大量のデータに対して高
速な処理が行える
・DWH向けのソフトウェア
- 7.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
Hive on Tezとは
7
Tezとは
Yarn上で動くデータ処理アプリのための処理エンジン
・Yarnを使ってリソースを管理
・データ処理アプリ向け(Hive,Pigなど)
・MapReduceの教訓を活かしてパフォーマンスの改善
- 8.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
アジェンダ
8
・自己紹介
・Hive on Tezとは
・適用システムについて
・性能改善のために
・安定稼働のために
・最後に
- 9.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
Hadoop
適用したシステム
9
Oracleテーブル
(OLTP)
配信
Data Pipeline
速報用集計
システム
Hiveテーブル
Hdfs
Hdfs
Hiveテーブル
Hdfs
MapReduce
Hive on Tez Sqoop
統計情報を集計するログ集計システム
広告主様
- 10.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
適用したシステム
10
速報用の統計情報に求められてるもの
速報用の統計情報
30分毎に最新の統計情報を提供
→ 安定的に性能をだし続ける必要がある
- 11.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
Hadoop
適用したシステム
11
Oracleテーブル
(OLTP)
配信
Data Pipeline
速報用集計
システム
Hiveテーブル
Hdfs
Hdfs
Hiveテーブル
Hdfs
MapReduce
Hive on Tez Sqoop
統計情報を集計するログ集計システム
広告主様
- 12.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
適用したシステム
12
リリースまでの課題
・性能がでない
・安定的に動かない
・再実行を考慮した作りにできない
- 13.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
適用したシステム
13
リリースまでの課題
・性能がでない
・安定的に動かない
・再実行を考慮した作りにできない
- 14.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
アジェンダ
14
・自己紹介
・Hive on Tezとは
・適用システムについて
・性能改善のために
・安定稼働のために
・最後に
- 15.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
性能改善のために
15
課題
ジョブのターンアラウンドタイムについて
・目標の性能が満たせてない
・性能が安定していない
- 16.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
NEW NEW_SAVING SUBMITTED ACCEPTED RUNNING FINAL_SAVING FINISHING
性能改善のために
16
原因確認
ジョブのボトルネックを確認
|--------------- ジョブ実行時間 ---------------
>|
- 17.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
性能改善のために
17
原因確認
Yarnログ
実行時間 : application_× State change from NEW to NEW_SAVING
実行時間 : application_× State change from NEW_SAVING to SUBMITTED
実行時間 : application_× State change from SUBMITTED to ACCEPTED
実行時間 : application_× State change from ACCEPTED to RUNNING
実行時間 : application_× State change from RUNNING to FINAL_SAVING
実行時間 : application_× State change from FINAL_SAVING to FINISHING
実行時間 : application_× State change from FINISHING to FINISHED
- 18.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
性能改善のために
18
原因確認
クエリーのボトルネックを確認
・EXPLAIN
・hive.tez.exec.print.summary
- 19.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
性能改善のために
19
原因確認
EXPLAIN
- 20.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
性能改善のために
20
原因確認
hive.tez.exec.print.summary=true
- 21.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
性能改善のために
21
原因と対策
原因 対策
NameNodeの負荷でジョブのSUBMITが遅れている 負荷をかけているクエリーのログ出力を停止
リソースを確保できていない時がある 常に安定的な性能がでるようにリソースを確保
Inputデータ量が多すぎる データの再設計
Reduceタスクが遅い Reducer数の調整
- 22.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
性能改善のために
22
目標実行時間を満たす並列数を求める
直列時のクエリー実行時間
(CPU_TIME_MILLISの合計時間)
目標実行時間
実行時間
必要なcontainer数 = 直列時のクエリー実行時間 / 目標実行時間
- 23.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
性能改善のために
23
並列数から必要なリソースを求める
確保するパーセンテージ =(必要なcontainer数/ 全体のcontainer数 ) * 100
container数
全体のcontainer数
必要なcontainer数
- 24.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
性能改善のために
24
データの再設計
一度統計用のInputに特化したテーブルを作成するこ
とでInputレコード数を削減
- 25.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
性能改善のために
25
Reducer数の調整
データ量に応じてスケールし、目標実行時間を満たせ
るような並列数にする
・hive.exec.reducers.bytes.per.reducer
- 26.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
性能改善のために
26
性能をだすために必要なこと
・ボトルネックを明確にする
・リソースの確保
・Reducerの調整
- 27.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
アジェンダ
27
・自己紹介
・Hive on Tezとは
・適用システムについて
・性能改善のために
・安定稼働のために
・最後に
- 28.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
安定稼働のために
28
課題
正常終了するジョブを運用していくと、失敗
するケースが発生してきた
- 29.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
安定稼働のために
29
原因
1.Mapper数が過度に上がりリソースを取得できなかっ
た
2.Mapper数が少なく1Mapperで処理できるデータ量を
超えてしまった
- 30.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
安定稼働のために
30
原因1
対象とするInputデータに対して1Mapperあたりのデー
タサイズが小さすぎた為、Mapper数が過度に上がり
リソースを取得できなかった
- 31.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
安定稼働のために
31
原因1 正常に終了するケース
Inputデータ
Map 1
Map 2
Map n
取得できるリソース
- 32.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
安定稼働のために
32
原因1 エラーになるケース
Inputデータ
Map 1
Map 2
Map m
取得できるリソース
- 33.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
安定稼働のために
33
原因2
対象とするInputデータに対して1Mapperあたりのデー
タサイズが大きすぎた為、 Mapperで集約する際に
OutOfMemoryが発生してしまっていた
- 34.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
安定稼働のために
34
原因2 正常に終了するケース
Inputデータ
Map 1
Map 2
Map n
1Mapで扱えるデータ量
- 35.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
安定稼働のために
35
原因2 エラーになるケース
Inputデータ
Map 1
Map 2
1Mapで扱えるデータ量
Map m
- 36.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
安定稼働のために
36
対策
運用しながら1Mapperが扱うデータサイズを調整する
原因 対策
Mapperが過度にあがる 1Mapperが扱う最小のデータ量を調整
tez.grouping.min-size
1Mapperが扱うデータ量が多い 1Mapperが扱う最大のデータ量を調整
tez.grouping.max-size
- 37.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
安定稼働のために
37
対策
Inputデータ
Map 1
Map 2
Map n
1Mapで扱えるデータ量
取得できるリソース
- 38.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
安定稼働のために
38
安定的に動かすために必要なこと
・1Mapperが扱うデータ量を設定する
・増加するデータ量に対応する設定を入れる
・実際のデータで運用してチューニングしていく
・チューニングパラメータの変更を容易にしておく
- 39.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
アジェンダ
39
・自己紹介
・Hive on Tezとは
・適用システムについて
・性能改善のために
・安定稼働のために
・最後に
- 40.
Copyrig ht ©2017 Yahoo Japan Corporation. All Rig hts Reserved.
最後に
40
再認識できたこと
デプロイメントサイクルを早くすることの重要性
・早くリリースし本番環境、本番のデータで運用していくこと
が重要
・予測できない事への修正、チューニングパラメータの迅速
な変更が重要