Enviar búsqueda
Cargar
SourceReading 20101020
•
0 recomendaciones
•
452 vistas
S
Shinichi YAMASHITA
Seguir
Hadoop 0.21.0 でShuffleの実装が気になったので、流しで読んでみた。
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 18
Recomendados
遺伝研スパコンを使った解析の並列化.pptx
遺伝研スパコンを使った解析の並列化.pptx
Osamu Ogasawara
Kansai mrb gr_sakura
Kansai mrb gr_sakura
Kosuga Masakatsu
Road to ggplot2再入門
Road to ggplot2再入門
nocchi_airport
Fluentd casual
Fluentd casual
oranie Narut
菩薩でもわかる!Rで動かすExcelアドインの作り方
菩薩でもわかる!Rで動かすExcelアドインの作り方
Nagi Teramo
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Kazuya Wada
WDD2012_SC-004
WDD2012_SC-004
Kuninobu SaSaki
RでGPU使ってみた
RでGPU使ってみた
Kazuya Wada
Recomendados
遺伝研スパコンを使った解析の並列化.pptx
遺伝研スパコンを使った解析の並列化.pptx
Osamu Ogasawara
Kansai mrb gr_sakura
Kansai mrb gr_sakura
Kosuga Masakatsu
Road to ggplot2再入門
Road to ggplot2再入門
nocchi_airport
Fluentd casual
Fluentd casual
oranie Narut
菩薩でもわかる!Rで動かすExcelアドインの作り方
菩薩でもわかる!Rで動かすExcelアドインの作り方
Nagi Teramo
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Kazuya Wada
WDD2012_SC-004
WDD2012_SC-004
Kuninobu SaSaki
RでGPU使ってみた
RでGPU使ってみた
Kazuya Wada
Hadoop輪読会第6章
Hadoop輪読会第6章
Akihiro Kuwano
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
basicinc_dev
20220111 SoftwareDesign #32 kitazaki
20220111 SoftwareDesign #32 kitazaki
Ayachika Kitazaki
Building production server on docker
Building production server on docker
Hiroshi Miura
Building production server on docker
Building production server on docker
Hiroshi Miura
CouchDB JP & BigCouch
CouchDB JP & BigCouch
Yohei Sasaki
Stream2の基本
Stream2の基本
shigeki_ohtsu
Slub data structure
Slub data structure
Masami Ichikawa
Slub alloc and free
Slub alloc and free
Masami Ichikawa
時を超えた JavaScript の道
時を超えた JavaScript の道
Teppei Sato
Hadoop splittable-lzo-compression
Hadoop splittable-lzo-compression
Daiki Sato
20131109 ruby conf2013
20131109 ruby conf2013
Hiroshi SHIBATA
Ctb57 with god7
Ctb57 with god7
kingtomo
そろそろRStudioの話
そろそろRStudioの話
Kazuya Wada
グローバル化はなぜ日時処理問題を引き起こすのか
グローバル化はなぜ日時処理問題を引き起こすのか
Atsushi Kambara
Fabric
Fabric
Joe_noh
Node-v0.12の新機能について
Node-v0.12の新機能について
shigeki_ohtsu
Ssaw08 0701
Ssaw08 0701
Atsushi Tadokoro
RelaxCafe@CouchDB break.4
RelaxCafe@CouchDB break.4
Yohei Sasaki
RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~
Kazuya Wada
Paseo bosetti
Paseo bosetti
grupo 12
Sustentación proyecto 4
Sustentación proyecto 4
000Mariana000
Más contenido relacionado
La actualidad más candente
Hadoop輪読会第6章
Hadoop輪読会第6章
Akihiro Kuwano
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
basicinc_dev
20220111 SoftwareDesign #32 kitazaki
20220111 SoftwareDesign #32 kitazaki
Ayachika Kitazaki
Building production server on docker
Building production server on docker
Hiroshi Miura
Building production server on docker
Building production server on docker
Hiroshi Miura
CouchDB JP & BigCouch
CouchDB JP & BigCouch
Yohei Sasaki
Stream2の基本
Stream2の基本
shigeki_ohtsu
Slub data structure
Slub data structure
Masami Ichikawa
Slub alloc and free
Slub alloc and free
Masami Ichikawa
時を超えた JavaScript の道
時を超えた JavaScript の道
Teppei Sato
Hadoop splittable-lzo-compression
Hadoop splittable-lzo-compression
Daiki Sato
20131109 ruby conf2013
20131109 ruby conf2013
Hiroshi SHIBATA
Ctb57 with god7
Ctb57 with god7
kingtomo
そろそろRStudioの話
そろそろRStudioの話
Kazuya Wada
グローバル化はなぜ日時処理問題を引き起こすのか
グローバル化はなぜ日時処理問題を引き起こすのか
Atsushi Kambara
Fabric
Fabric
Joe_noh
Node-v0.12の新機能について
Node-v0.12の新機能について
shigeki_ohtsu
Ssaw08 0701
Ssaw08 0701
Atsushi Tadokoro
RelaxCafe@CouchDB break.4
RelaxCafe@CouchDB break.4
Yohei Sasaki
RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~
Kazuya Wada
La actualidad más candente
(20)
Hadoop輪読会第6章
Hadoop輪読会第6章
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
20220111 SoftwareDesign #32 kitazaki
20220111 SoftwareDesign #32 kitazaki
Building production server on docker
Building production server on docker
Building production server on docker
Building production server on docker
CouchDB JP & BigCouch
CouchDB JP & BigCouch
Stream2の基本
Stream2の基本
Slub data structure
Slub data structure
Slub alloc and free
Slub alloc and free
時を超えた JavaScript の道
時を超えた JavaScript の道
Hadoop splittable-lzo-compression
Hadoop splittable-lzo-compression
20131109 ruby conf2013
20131109 ruby conf2013
Ctb57 with god7
Ctb57 with god7
そろそろRStudioの話
そろそろRStudioの話
グローバル化はなぜ日時処理問題を引き起こすのか
グローバル化はなぜ日時処理問題を引き起こすのか
Fabric
Fabric
Node-v0.12の新機能について
Node-v0.12の新機能について
Ssaw08 0701
Ssaw08 0701
RelaxCafe@CouchDB break.4
RelaxCafe@CouchDB break.4
RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~
Destacado
Paseo bosetti
Paseo bosetti
grupo 12
Sustentación proyecto 4
Sustentación proyecto 4
000Mariana000
Ingenier%c3%ada de software
Ingenier%c3%ada de software
Marilupe
Herramietas pedagogicas en internet
Herramietas pedagogicas en internet
Uni
Ind tam-015-doc
Ind tam-015-doc
Riverside School
Si no usas internet, estas en nada
Si no usas internet, estas en nada
ECON
Resumen estudio informativo nueva linea castelldefels cornellà-zona universit...
Resumen estudio informativo nueva linea castelldefels cornellà-zona universit...
Transports Metropolitans de Barcelona (TMB)
Trasnpallets
Trasnpallets
yetea1417
Destacado
(8)
Paseo bosetti
Paseo bosetti
Sustentación proyecto 4
Sustentación proyecto 4
Ingenier%c3%ada de software
Ingenier%c3%ada de software
Herramietas pedagogicas en internet
Herramietas pedagogicas en internet
Ind tam-015-doc
Ind tam-015-doc
Si no usas internet, estas en nada
Si no usas internet, estas en nada
Resumen estudio informativo nueva linea castelldefels cornellà-zona universit...
Resumen estudio informativo nueva linea castelldefels cornellà-zona universit...
Trasnpallets
Trasnpallets
Similar a SourceReading 20101020
Hadoop事始め
Hadoop事始め
You&I
Data-Intensive Text Processing with MapReduce(Ch1,Ch2)
Data-Intensive Text Processing with MapReduce(Ch1,Ch2)
Sho Shimauchi
ただいまHadoop勉強中
ただいまHadoop勉強中
Satoshi Noto
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
GoAzure
ゾウ使いへの第一歩
ゾウ使いへの第一歩
Fumito Ito
第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポート
You&I
〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理
Akihiro Kitada
MapReduce解説
MapReduce解説
Shunsuke Aihara
Hadoop - OSC2010 Tokyo/Spring
Hadoop - OSC2010 Tokyo/Spring
Shinichi YAMASHITA
MapReduce/YARNの仕組みを知る
MapReduce/YARNの仕組みを知る
日本ヒューレット・パッカード株式会社
Kuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakalt
Toshihiro Suzuki
Googleの基盤クローン Hadoopについて
Googleの基盤クローン Hadoopについて
Kazuki Ohta
Twitter クライアント “Termtter” の紹介と収集したソーシャルデータを Fluentd + Hadoop で分析する話
Twitter クライアント “Termtter” の紹介と収集したソーシャルデータを Fluentd + Hadoop で分析する話
id774
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Nagato Kasaki
Hadoop, NoSQL, GlusterFSの概要
Hadoop, NoSQL, GlusterFSの概要
日本ヒューレット・パッカード株式会社
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
AdvancedTechNight
Spark shark
Spark shark
Tsuyoshi OZAWA
Similar a SourceReading 20101020
(17)
Hadoop事始め
Hadoop事始め
Data-Intensive Text Processing with MapReduce(Ch1,Ch2)
Data-Intensive Text Processing with MapReduce(Ch1,Ch2)
ただいまHadoop勉強中
ただいまHadoop勉強中
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
ゾウ使いへの第一歩
ゾウ使いへの第一歩
第1回Hadoop関西勉強会参加レポート
第1回Hadoop関西勉強会参加レポート
〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理
MapReduce解説
MapReduce解説
Hadoop - OSC2010 Tokyo/Spring
Hadoop - OSC2010 Tokyo/Spring
MapReduce/YARNの仕組みを知る
MapReduce/YARNの仕組みを知る
Kuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakalt
Googleの基盤クローン Hadoopについて
Googleの基盤クローン Hadoopについて
Twitter クライアント “Termtter” の紹介と収集したソーシャルデータを Fluentd + Hadoop で分析する話
Twitter クライアント “Termtter” の紹介と収集したソーシャルデータを Fluentd + Hadoop で分析する話
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hadoop, NoSQL, GlusterFSの概要
Hadoop, NoSQL, GlusterFSの概要
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
Spark shark
Spark shark
Último
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Último
(11)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
SourceReading 20101020
1.
Hadoopソースコード読み会 Shuffleを読んでみる 山下 真一
2.
2 背景 ● 某案件より:「Reduce処理に時間が掛かりすぎる!」 → リソースネックではなかった →
処理ログを見るとShuffleで延々と時間が掛かる! → これが有名なShuffleのワナね! いきなり大きな壁にぶつかった2年前の秋・・・ 月日は流れ・・・ ● 2010年8月 0.21.0リリース! → ある人曰く:「Shuffleは少々手を入れたぜ!」 → おぉ!これは確認せずにはいられなゐ! といういことで、Shuffleがどうなったか読んでみた。
3.
3 前提 ● Hadoop 0.21.0 ●
対象は、Shuffle時にMap処理結果を取得する部分 ● 大まかな流れのみで詳細や異常系までは読んでいません! ● JobTrackerはlocalモードではないです! ● 読み違いは、ご容赦を!
4.
4 Shuffleへの道のり ● Hadoopの実装では、Map処理やReduce処理はTaskTrackerそのものでは なく、TaskTrackerより生成されるChildが実行 ● Child
: org.apache.hadoop.mapred.Child Childは、Map処理やReduce処理を実行する (L:217) ● taskFinal.run()よりReduceTask.run()が実行 ● Hadoopでは、ReduceTask内でShuffleが処理されるの で、ReduceTask.run()を追いかける
5.
5 ReduceTask ● ReduceTask :
org.apache.hadoop.mapred.ReduceTask ● ReduceTask内でShuffleインスタンス生成 (L:353) ● Shuffle : org.apache.hadoop.mapreduce.task.reduce – 0.21.0より導入されたクラス – Shuffleコンストラクタ内でShuffleScheduler, MergeManagerイン スタンスを生成 (L:88, L:92) ● Shuffleインスタンスのrun()を実行 (L:362) Combine処理は、 Spillする場合に処理される
6.
6 ShuffleScheduler ● mapLocations :
Map<String, MapHost> / HashMap ● pendingHosts : Set<MapHost> / HashSet ● finishedMaps : final boolean[] ● totalMaps : final int ● remainingMaps : int ● copySucceed() : Map処理結果の取得が成功したときに実行 ● addKnownMapOutput() : Map処理結果情報(ホスト名, MapID)を追加 ● getHost() : Map処理ホスト情報取得 ● getMapForHost() : Map処理ホストで実行したMap処理情報取得 ● waitUntilDone() : Map処理結果取得の完了までwait
7.
7 MergeManager ● IntermediateMemoryToMemoryMergerスレッド ● mapreduce.reduce.merge.memtomem.enabled
= trueの場合 ● InMemoryMergerスレッド ● 特定の閾値を超えた場合、MemoryMerge → Spill 実行 ● OnDiskMergerスレッド ● DiskでのMerge ● reserve() : Map処理結果取得のためのメモリ確保 ● ディスク or メモリ or null (メモリ上で扱えるがメモリを大量に使用し ている場合) ● canShufflleToMemory() : Memory or Disk ● finalMerge() : Map処理結果を全て取得した後の最後に実行
8.
8 Shuffle ● Shuffle.run()では、2種類のスレッドを生成と起動 ● EventFetcher
(L:106) : Map処理の状況を確認する ● Fetcher (L:112) : Map処理結果を取得する,複数のスレッドを生成 – mapreduce.reduce.shuffle.parallel.copiesプロパティで指定 ● デフォルト5 ● 全てのMap処理が完了するまで無限ループ待ち (L:119) ● PROGRESS_FREQUENCY : 2000ミリ秒でハードコーディング
9.
9 EventFetcher – その1 ●
EventFetcher.run() : 無限ループでMap処理実行状況を把握 ● getMapCompletionEvents()を呼び出し (L:66) ● ループ内でThread.sleep(SLEEP_TIME)を実行 (L:72) – SLEEP_TIME : 1000ミリ秒でハードコーディング
10.
10 EventFetcher - その2 ●
EventFetcher.getMapCompletionEvents() ● Map処理結果情報を取得ののちSUCCEEDEDのものを対象にURIや MapID、ホスト名などの情報を確認 – scheduler.addKnownMapOutput()で情報保存 (L:133) – addKnownMapOutput()内では、以下の情報を保存 ● mapLocations ← Map処理を実行したホスト情報やホスト名 ● MapHost.addKnownMap() ← Map処理のTaskAttemptID ● pendingHosts ← Map処理結果を取得するためのホスト情報 – FetcherスレッドでMap処理結果を取得
11.
11 Fetcher - その1 ●
Fetcher.run() : 無限ループでMap処理結果を取得 ● scheduler.getHost()にて、取得するMap処理実行ホスト情報を取得 (L:145) ● copyFromHost()で、Map処理実行ホストより結果取得 (L:149) ● scheduler.freeHost()にて、Map処理実行ホスト情報を戻す (L:152) – 一つのホストから集中して取得することを防ぐため
12.
12 Fetcher - その2 ●
ShuffleScheduler.getHost() ● pendingHosts内に複数あるMap処理ホスト情報をランダムに取得 – random.nextInt – seedは、Ramdom(System.currentTimeMillis()) ● pendingHostsはHashSetであるので、順序性を持たないためfor文によ り対象のMap処理ホスト情報をpickup
13.
13 Fetcher - その3 ●
copyFromHost() ● scheduler.getMapsForHost()で取得するMap処理結果を決定 (L:172) – host.getAndClearKnownMaps() で該当ホストのTaskAttemptID を全て取得、host情報が持つTaskAttemptIDは一旦clear – TaskAttemptIDリストより、結果を取得していないSUCCEEDであ るTaskAttemptIDを20個取得 (20個はハードコーディング) – 21番目以降のTaskAttemptIDは、host.addKnownMap()で戻す ● Map処理を実行したTaskTrackerにHTTPにて接続確立 – URLに20個のMapIDを渡す ● copyMapOutput()で、TaskAttemptIDに沿ったMap処理結果をメモリ 上で保存するかディスクで保存する (L:251)
14.
14 Fetcher - その4 ●
copyMapOutput() : 取得したTaskAttemptIDによる結果ごとに実行 ● header情報取得 (L:282 – L:287) ● merger.reserve()でMap処理結果でメモリで保持するかディスクで保 持するか決定 (L:305) – メモリ or ディスク の判断は”パラメータ的な話題”で説明 ● reserve結果、メモリの場合shuffleToMemory()にてMap処理結果をメ モリで保持 (L:319), ディスクの場合shuffleToDisk()にてMap処理結果 をローカルディスクに書き出す (L:322) ● scheduler.copySucceeded()で、取得完了に関して処理 (L:322) – output.commit()で、メモリ/ディスクで保持するMap処理結果数が 閾値を超えた場合、Spill/Mergeを実行 – 閾値については”パラメータ的な話題”で説明
15.
15 ポイント ● 新規Map処理結果は、EventFetcher.getMapCompetionEvents()の呼び出 しで確認できる ● 1回の取得ごとに1秒sleepする
(L:72) – SLEEP_TIMEはハードコーディングされている ● Shuffle.run()内のscheduler.waitUntilDone()で状況を判断する ● 1回の確認で2秒waitする (L:364) – wait時間はハードコーディングされている ● 0.20系までと比べるとShuffleによる待ち時間は改善されている
16.
16 パラメータ的な話題 - その1 ●
Fetcherにて、Map処理結果をメモリ or ディスクに書き出す基準 ● MergeManager.canShuffleToMemory() – “Reduce用ヒープサイズ * Copy用領域 * 0.25” よりMap処理結果 (1つ) が小さければメモリ – Copy用領域 : mapreduce.reduce.shuffle.input.buffer.percent ● デフォルト 0.9 ● Map処理結果をcommitするときのメモリ上からSpillする基準 ● MergeManager.CloseInMemoryFile() – “Reduce用ヒープメモリ * Copy用領域 * X” を超えた場合Spill処理 開始 – X : mapreduce.reduce.shuffle.merge.percent ● デフォルト 0.9
17.
17 パラメータ的な話題 - その2 ●
disk上のMap処理結果(segment)をmergeする基準 ● MergeManager.CloseOnDiskFile() – segment数 > (2 * X – 1) となった場合に開始 – X : mapreduce.task.io.sort.factor ● デフォルト 100 ● Fetcher用スレッド(Map処理結果同時取得)数 ● mapreduce.reduce.shuffle.parallel.copies – デフォルト 5
18.
18 終わり ご静聴ありがとうございました