Hadoopコンバイナーの紹介、作業&利点

あなたが最新の技術動向で更新し続ける、電報にTechVidvanに参加

目的

このHadoopのチュートリアルでは、我々はあなたにHadoopのコンバイナーの詳細な説明を提供します。 まず、MapReduce Combinerとは何か、MapReduceにおけるCombinerの重要な役割は何かを見ていきます。 次に、Hadoopのコンバイナの有無にかかわらず、MapReduceプログラムの例について説明します。 最後に、MapReduceのCombinerのいくつかの長所と短所も見ていきます。

2. Hadoopコンバイナーとは何ですか?

コンバイナは、リデューサーに渡す前にマッパー出力レコードを同じキーで要約する”ミニレデューサー”とも呼ばれます。MapReduceジョブを実行するときに大きなデータセットで

。 そのため、Mapperは中間データの大きな塊を生成します。 その後、フレームワークはこの中間データを減速機に渡して、さらなる処理を行います。 これは巨大なネットワークの輻輳につながります。 Hadoopフレームワークは、ネットワークの輻輳を軽減するために重要な役割を果たすコンバイナと呼ばれる機能を提供します。

コンバイナー a”ミニレデューサー”の主な仕事は、マッパーからの出力データをReducerに渡す前に処理することです。 これは、マッパーの後と減速機の前に実行されます。 その使用法は任意です。

コンバイナはHadoopでどのように機能しますか?

MapReduceでコンバイナを使用すると、物事がどのように変化するかを学びましょう。

コンバイナなしのMapReduceプログラム

上の図に示すように、コンバイナはありません。 入力は2つのマッパーに分割されます。 フレームワークは、マッパーから9つのキーを生成します。

だから、今、私たちは(9つのキー/値)中間データを持っています。 さらにマッパーは、このkey-valueをreducerに直接送信します。 減速機にデータを送信している間、ネットワーク帯域幅を消費します。 データのサイズが大きい場合は、reducerにデータを転送するのに時間がかかります。

コンバイナを使用したMapReduceプログラム

上の図から、mapperとreducerの間にコンバイナを使用するとします。 その後、コンバイナーは減速機に送信する前に9つのキー/値をシャッフルします。 そして、出力として4つのキー/値のペアを生成します。

現在、Reducerは2つのcombinerから生成された4つのキー/値のペアデータのみを処理する必要があります。 したがって、reducerは最終的な出力を生成するために4回しか実行されません。 したがって、これは全体的なパフォーマンスを向上させます。

Mapreduceでのコンバイナの利点

ここで、MapReduceでのHadoopコンバイナの利点について説明しましょう。

  • コンバイナを使用すると、mapperとreducer間のデータ転送にかかる時間が短縮されます。
  • コンバイナーは、減速機の全体的な性能を向上させます。
  • reducerが処理する必要があるデータの量を減らします。

MapReduceのコンバイナの欠点

Hadoopコンバイナの欠点もいくつかあります。 今同じことを議論してみましょう。

  • ローカルファイルシステムでは、Hadoopがキーと値のペアを格納し、後でコンバイナを実行すると、高価なディスクIOが発生します。
  • MapReduceジョブは、その実行に保証がないため、コンバイナの実行に依存することはできません。

コメントを残す

メールアドレスが公開されることはありません。