sql >> データベース >  >> NoSQL >> HBase

HadoopMapReduceのデータローカリティの概要

    このHadoopチュートリアルでは、 Hadoopのデータローカリティの概念について説明します。

    まず、HadoopでのMapReduceデータローカリティの概要を説明し、次にMapReduceのデータローカリティ、データローカリティ最適化のカテゴリでHadoopデータローカリティの必要性について説明します。

    最後に、このMapReduceチュートリアルでHadoopデータの局所性の原則の利点を確認します。

    Hadoop MapReduceのデータローカリティとは何ですか?

    Hadoopのデータローカリティは、ビッグデータを計算に移動するのではなく、実際のデータが存在する場所の近くに計算を移動するプロセスです。これにより、ネットワーク全体の輻輳が最小限に抑えられます。これにより、システムの全体的なスループットも向上します。

    主なHadoopの欠点 膨大な量のデータが原因で、クロススイッチネットワークトラフィックでした。この欠点を克服するために、データローカリティが誕生しました。

    Hadoopでは、 HDFS データセットを保存します。フレームワークはデータセットをブロックに分割し、データノード全体に保存します。クライアントがMapReduceジョブを実行すると、NameNodeはMapReduceコードをMapReduceジョブに従ってデータが利用可能なデータノードに送信しました。

    Hadoopデータローカリティの要件

    Hadoopアーキテクチャは、データローカリティのすべての利点を活用するために、以下の条件を満たす必要があります。

    • まず、Hadoopクラスターに適切なトポロジが必要です。 Hadoopコードには、データの局所性を読み取る機能が必要です。
    • 次に、Apache Hadoopは、タスクが実行されるノードのトポロジーを認識している必要があります。また、Hadoopはデータがどこにあるかを知っている必要があります。

    Hadoopのデータローカリティのカテゴリ

    Hadoopデータローカリティのさまざまなカテゴリは次のとおりです。

    1。 Hadoopのデータローカルデータローカリティ

    この場合、データはマッパーと同じノードにあります データに取り組んでいます。この場合、データの近接性は計算に非常に近いです。データローカルデータローカリティが最も好ましいシナリオです。

    2。 Hadoopのラック内データのローカリティ

    リソースの制約により、同じデータノードでマッパーを実行できるとは限らないことがわかっています。この場合、マッパーは別のノードで同じラックで実行することをお勧めします。

    3。 Hadoopのラック間データのローカリティ

    同じラック内の別のノードでマッパーを実行できない場合もあります。このような状況では、異なるラックのノードでマッパーを実行します。ラック間データの局所性は、最も好ましくないシナリオです。

    Hadoopデータの局所性の最適化

    データのローカリティがHadoopの主な利点であるため MapReduce。ただし、これは、異種クラスター、投機的実行、データの分散と配置、データレイアウトなどのさまざまな理由により、実際には必ずしも有益ではありません。

    大規模なクラスターでは、課題がより一般的になります。大規模なクラスターの場合と同様に、データノードとデータの数が多いほど、局所性は少なくなります。

    大規模なクラスターでは、一部のノードが他のノードよりも新しく高速であるため、比率を計算するためのデータが不均衡になります。したがって、大きなクラスターは完全に均質ではない傾向があります。

    Hadoopの投機的実行では、データがローカルではない可能性があるためですが、計算能力を使用します。主な原因は、データのレイアウト/配置にもあります。また、非ローカルデータ処理はネットワークに負担をかけ、スケーラビリティに問題を引き起こします。したがって、ネットワークがボトルネックになります。

    また、時間の経過とともに劣化したジョブやデータの局所性の問題を最初に検出することで、データの局所性を向上させることもできます。問題解決はより複雑で、別のスケジューラを使用してデータ配置とデータレイアウトを変更する必要があります。

    その後、同じワークロードを新たに実行した方がデータの局所性の比率が高いかどうかを確認する必要があります。

    Hadoopのデータローカリティの利点

    • 高スループット– Hadoopのデータローカリティにより、システムの全体的なスループットが向上します。
    • 実行の高速化– データローカリティでは、フレームワークは、大きなデータをノードに移動するのではなく、データが存在するノードにコードを移動します。したがって、これによりHadoopが高速になります。プログラムのサイズは常にデータのサイズよりも小さいため、データの移動はネットワーク転送のボトルネックになります。

    結論

    結論として、Hadoopのデータローカリティは、システムの全体的な実行を改善し、Hadoopを高速化します。したがって、ネットワークの輻輳が軽減されます。

    このブログが役に立った、または質問がある場合は、下のコメントセクションにコメントを残してください。喜んで解決させていただきます。


    1. Redisから複数のキー値を取得する

    2. HLLの誤検知が多すぎます

    3. ノードjSを使用したRedis構成セット

    4. DockerがRailsの起動に失敗する