Return to Video

Reducer Code

  • 0:00 - 0:03
    リデューサのコードを見ていきましょう
  • 0:03 - 0:07
    まず変数を初期化します
  • 0:07 - 0:09
    salesTotal は途中の合計で 初期値はゼロ
  • 0:09 - 0:13
    oldKey の初期値は None です
  • 0:13 - 0:16
    標準入力から読み込み マッパーが処理した
  • 0:16 - 0:19
    出力を1行ずつ受け取ります
  • 0:19 - 0:22
    この例では1行の内容は
  • 0:22 - 0:25
    店舗名、タブ、金額です
  • 0:25 - 0:29
    改行コードを取り除き タブで区切られた
  • 0:29 - 0:31
    キーと値を分けます
  • 0:31 - 0:34
    2つの配列すなわちデータが得られます
  • 0:34 - 0:38
    もし行にその2項目がない場合は
    その行をスキップします
  • 0:38 - 0:40
    しかしそれは実際にはありません
  • 0:40 - 0:42
    マッパーが必ずこの形式で出力するからです
  • 0:42 - 0:45
    明確にするために2つの配列を
  • 0:45 - 0:50
    変数に入れます thisKey は店舗名で
  • 0:50 - 0:54
    thisSale は金額です ここで確認することは
  • 0:54 - 0:57
    キーが前の行から変更したかどうかです
  • 0:57 - 1:01
    oldKey を比較して一致しなければ
  • 1:01 - 1:03
    それは新しいキーの最初の行です
  • 1:03 - 1:05
    一致すれば 前の行と
  • 1:05 - 1:08
    同じキーです この if文が真であれば
  • 1:08 - 1:12
    その行でキーが変更しています この例では
  • 1:12 - 1:15
    マイアミからニューヨークに変わる行です
  • 1:15 - 1:18
    新しいキーのある行であれば
  • 1:18 - 1:22
    店舗名、タブ、合計を書き出します
  • 1:22 - 1:25
    そして salesTotal をゼロにリセットします
  • 1:25 - 1:29
    それぞれ行の処理をする時は
  • 1:29 - 1:31
    oldKey には常に現在の行のキーが入り
  • 1:31 - 1:35
    その行の金額が途中集計に加算されます
  • 1:35 - 1:38
    そしてループで戻り 次の行を処理します
  • 1:38 - 1:40
    やがて全部のデータを処理すると
  • 1:40 - 1:42
    ループから抜けますが そこで終わりでしょうか?
Title:
Reducer Code
Description:

more » « less
Video Language:
English
Team:
Udacity
Project:
ud617 - Intro to Hadoop and Mapreduce
Duration:
01:43
Fran Ontanaya edited Japanese subtitles for 05-10 Reducer Code

Japanese subtitles

Revisions