Apache-pig-tomap

提供:Dev Guides
移動先:案内検索

Apache Pig-TOMAP()

Pig Latinの* TOMAP()*関数は、キーと値のペアをマップに変換するために使用されます。

構文

以下に、* TOMAP()*関数の構文を示します。

grunt> TOMAP(key-expression, value-expression [, key-expression, valueexpression ...])

HDFSディレクトリ /pig_data/employee_details.txt という名前のファイルがあり、次の内容があるとします。

*employee_details.txt*
001,Robin,22,newyork
002,BOB,23,Kolkata
003,Maya,23,Tokyo
004,Sara,25,London
005,David,23,Bhuwaneshwar
006,Maggy,22,Chennai

以下に示すように、このファイルをリレーション名 emp_data でPigにロードしました。

grunt> emp_data = LOAD 'hdfs://localhost:9000/pig_data/employee_details.txt' USING PigStorage(',')
   as (id:int, name:chararray, age:int, city:chararray);

次に、各レコードの名前と年齢をキーと値のペアとして取得し、以下に示すようにマップに変換します。

grunt> tomap = FOREACH emp_data GENERATE TOMAP(name, age);

検証

以下に示す Dump 演算子を使用して、 tomap 関係の内容を確認できます。

grunt> DUMP tomap;

([Robin#22])
([BOB#23])
([Maya#23])
([Sara#25])
([David#23])
([Maggy#22])