個人財務 入力で分割HadoopのMapReduceで分割 - ダミー

入力で分割HadoopのMapReduceで分割 - ダミー

ビデオ: Combiners - Intro to Hadoop and MapReduce 2024

ビデオ: Combiners - Intro to Hadoop and MapReduce 2024
Anonim

HDFSが設定されたやり方で、非常に大きなファイルを大きなブロック(例えば、128MBのサイズ)に分割します。これは、YARNでMapReduceジョブが開始されると、

YARNでは、MapReduceジョブが開始されると、Resource Manager(クラスタリソース管理およびジョブスケジューリング機能)が実行され、クラスタの別のノードにこれらのブロックの3つのコピーが格納されます。 )は、ジョブのライフサイクルを調べるためのApplication Masterデーモンを作成します(Hadoop 1ではJobTrackerが個々のジョブを監視し、ジョブスケジューリングとクラスタリソース管理を処理します)。

<! - 1 - > >アプリケーションマスターが最初に行うことの1つは、処理に必要なファイルブロックを決定することです。アプリケーションマスターは、必要なデータブロックのレプリカが格納されているNameNodeから詳細を要求します。アプリケーションマスタはリソースへの要求を行いますマップ・タスクを持つマネージャは、格納されているスレーブ・ノード上の特定のブロックを処理します。

<! MapReduceの効率的な処理の鍵は、可能であれば、データが格納されているスレーブノード上でローカルに処理されることです。 - 999

データブロックの処理方法を見る前に、Hadoopのデータ格納方法を詳しく見ていく必要があります。 Hadoopでは、ファイルは個々のレコードで構成され、最終的にマッパータスクによって1つずつ処理されます。

たとえば、サンプルデータセットには、1987年から2008年の間の米国内の完了便に関する情報が含まれています。 <! - 3 - > サンプルデータセットをダウンロードするには、VMブラウザからFirefoxブラウザを開き、dataexpoページに移動します。

あなたは毎年大きなファイルを1つ持っています。すべてのファイル内で、それぞれの行は1つのフライトを表します。つまり、1行は1レコードを表します。ここで、Hadoopクラスタのブロックサイズは64MBであることに注意してください。これは、ライトデータファイルが正確に64MBのチャンクに分割されていることを意味します。

問題が見えますか?各マップタスクが特定のデータブロック内のすべてのレコードを処理する場合、ブロック境界にまたがるレコードはどうなりますか?ファイルブロックは正確に64MB(またはブロックサイズを設定するもの)であり、HDFSはファイルブロック内の内容を把握していないため、レコードが別のブロックにこぼれる可能性はありません。

この問題を解決するために、Hadoopは

入力分割

と呼ばれるファイルブロックに格納されたデータの論理表現を使用します。 MapReduceジョブクライアントが入力分割を計算すると、ブロック内の最初の全体レコードの開始位置とブロック内の最後のレコードの終了位置がわかります。ブロックの最後のレコードが不完全な場合、入力スプリットは、次のブロックの位置情報と、レコードを完成させるのに必要なデータのバイトオフセットとを含む。

この図は、データブロックと入力分割とのこの関係を示しています。

ジョブマスターの代わりにアプリケーションマスターデーモン(またはHadoop 1の場合はJobTracker)を設定して、多数のデータブロックを処理するジョブの方が速い入力スプリットを計算することができます。 MapReduceのデータ処理は、この入力分割の概念によって駆動されます。特定のアプリケーションに対して計算される入力分割の数によって、マッパータスクの数が決まります。これらのマッパータスクは、可能であれば入力分割が格納されているスレーブノードに割り当てられます。 Resource Manager(またはHadoop 1の場合はJobTracker)は、入力分割がローカルで処理されるように最善を尽くします。

入力で分割HadoopのMapReduceで分割 - ダミー

エディタの選択

自転車の点検チェックリスト - ダミー

自転車の点検チェックリスト - ダミー

すぐに自転車の点検をするために数分。あなたの自転車を一時的に与えることは、あなたの次の乗り心地の安全性、快適性、そして楽しさを高めることができます。乗車準備の一環として、次の手順に従ってください:車輪のクイックリリースレバーを開閉して、確認します。

必須サイクリング用具 - ダミー

必須サイクリング用具 - ダミー

あなたはバイクの乗り心地をさらに楽しくするために何百万ものものを買うことができます。自転車用に必要なアクセサリーをいくつかご紹介します。ヘルメット:ヘルメットを着用することはオーストラリアとニュージーランドの法律です。

自転車の範囲を閲覧可能 - ダミー

自転車の範囲を閲覧可能 - ダミー

あなたはサイクリングをすることに決めましたが、その重要なキットを欠いている - バイク!あなたが望む自転車のタイプを正確に知っていない限り、良いアドバイスは、あなたの時間を費やして、自転車で何をするのか、どこに乗るのかを本当に考えてみることです。

エディタの選択

アプリとプライバシー - ダミーを特定する

アプリとプライバシー - ダミーを特定する

Spotifyアプリケーションに登録すると、あなたの個人的な詳細の一部にアクセスする。たとえば、Top10アプリを使用してプレイリストを公開するには、既存のFacebookアカウントにリンクする必要があります。このプロセス中、Facebookはあなたに特定の種類の共有を許可するかどうか尋ねます。

モバイル対応携帯電話を識別する - ダミー

モバイル対応携帯電話を識別する - ダミー

SpotifyモバイルはiPhoneで最も人気がありますが、優れたAndroidバージョン(basks Androidマーケットの5つ星評価のうち5つの評価では5位に入っています)が急速に追いついています。

特集 - ダミー

特集 - ダミー

スポットメイキングは、モバイルでも、あらゆる音楽への普遍的な即時アクセスを可能にしますデバイスまたはデスクトップコンピュータ。 Facebookは人々が古い友達と再会して新しい友達を作るのを助け、Spotifyの助けを借りて青春の歌を再発見し、友人や検索を通じて新鮮な音楽を発見しました。

エディタの選択

IOSアプリケーションでオブジェクト指向設計を使用する方法 - ダミー

IOSアプリケーションでオブジェクト指向設計を使用する方法 - ダミー

IOSは、動作がオブジェクトに関連付けられているプログラムを設計するさまざまな方法です。説明するために、紅茶とスープの作り方を検討することを検討してください。しかし、即座に代わりに活動に飛び込んではいけません。探偵が犯罪現場に入るように行動してください。

IOSアプリケーションでハイレベル抽象化を使用してビデオを再生する方法 - ダミー

IOSアプリケーションでハイレベル抽象化を使用してビデオを再生する方法 - ダミー

このセクションでは、MPMoviePlayerViewControllerクラスの高レベル抽象化を使用してiOSアプリケーションでビデオを再生する方法を説明します。 - (IBAction)playVideo:(id)sender {MPMoviePlayerViewController * moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:movieURL];このコードは、ビデオビューコントローラ内のTTTVideoViewControllerファイルからです。 [self presentMoviePlayerViewControllerAnimated:moviePlayer];}シンプルさ自体!必要なのはURLです。

IOSアプリケーションでJavaスクリプトオブジェクト表記を使用する方法 - ダミー

IOSアプリケーションでJavaスクリプトオブジェクト表記を使用する方法 - ダミー

JavaScript Object Notation (JSON)はiOSアプリのデータを表現する上で事実上の標準になっています。 JSONを使用して、Web上でデータを転送したり、長期保存データを保存および取得するためのフォーマットとして使用することができます。 JSONは、人間が読める形式であり、マシンが理解しやすい形式です。 JSONのデータは1つにまとめることができます...