個人財務 HadoopのMapReduceアプリケーションフローのマップフェーズ - ダミー

HadoopのMapReduceアプリケーションフローのマップフェーズ - ダミー

Anonim

MapReduceアプリケーションは、 レコードごとに ベースで入力スプリットのデータを処理し、各レコードはMapReduceによって キー/値 対。入力スプリットが計算された後、マッパータスクはそれらの処理を開始できます。つまり、リソースマネージャのスケジューリング機能が処理リソースを割り当てた直後です。 (Hadoop 1では、JobTrackerはマッパータスクを特定の処理スロットに割り当てます。)

<! - 1 - >

マッパー・タスク自体は、一度に1レコードずつ入力分割を処理します。この図では、この単独レコードはキーと値のペアで表されます。私たちの飛行データの場合、(テキストファイルのデフォルトのファイル処理方法を使用して)入力分割が計算されるとき、テキストファイルの各行は単一のレコードであると仮定します。

レコードごとに、行自体のテキストが値を表し、分割の先頭から各行のバイトオフセットがキーとみなされます。

バイトオフセットの代わりに行番号が使用されないのはなぜだろうか。非常に大きなテキストファイルが多くの個々のデータブロックに分割され、分割数が多いと考えられる場合、行番号は危険な概念です。

<! - 3 - >

各分割内の行数が異なるため、処理中の行の数を計算することは不可能です。ただし、すべてのブロックには固定バイト数があるため、バイトオフセットを使用すると正確になります。

マッパータスクは各レコードを処理するので、新しいキーと値のペアを生成します。ここでキーと値は入力ペアとは完全に異なる場合があります。マッパータスクの出力は、これらのすべてのキーと値のペアの完全なコレクションです。

各マッパータスクの最終出力ファイルが書き込まれる前に、出力はキーに基づいて分割され、ソートされます。この分割は、各キーのすべての値が一緒にグループ化されることを意味します。

かなり基本的なサンプルアプリケーションの場合、単一のレデューサーしかないので、マッパータスクのすべての出力が1つのファイルに書き込まれます。しかし、複数のリデューサーがある場合、すべてのマッパータスクが複数の出力ファイルを生成することもあります。

これらの出力ファイルの内訳は、区分キーに基づいています。たとえば、マッパー・タスク用に3つの別個のパーティション化キーしか出力されておらず、そのジョブ用の3つのリデューサーを構成した場合は、3つのマッパー出力ファイルが存在します。この例では、特定のマッパータスクが入力分割を処理し、3つのキーのうちの2つを使用して出力を生成する場合、出力ファイルは2つだけになります。

マッパータスクの出力ファイルを常に圧縮します。より小さい出力ファイルを書くことは、減速器が動作しているノードにマッパー出力を転送する必然的なコストを最小限に抑えるので、ここでの最大の利点はパフォーマンスの向上です。

ほとんどの状況では、デフォルトのパーティショナーは十分ではありませんが、レデューサーによって処理される前にデータがどのように分割されるかをカスタマイズしたい場合があります。たとえば、結果セット内のデータを、キーとその値(セカンダリ ソート)でソートすることができます。 これを行うには、デフォルトのパーティショナーをオーバーライドし、独自のパーティショナーを実装します。ただし、このプロセスでは、各パーティションのレコード数が均一であることを確認する必要があるため、注意が必要です。 (あるレデューサーが他のレデューサーよりもはるかに多くのデータを処理する必要がある場合は、MapReduceジョブが完了するのを待っています。一方、過度に大きなレデューサーは、不均等に大​​きなデータセットによってスローされます)。 MapReduce処理で利用可能な並列処理をより有効に活用できます。

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つにまとめることができます...