Apache-pig-isempty
Apache Pig-IsEmpty()
Pig Latinの* IsEmpty()*関数は、バッグまたはマップが空かどうかを確認するために使用されます。
構文
以下に、* IsEmpty()*関数の構文を示します。
例
以下に示すように、HDFSディレクトリ /pig_data/ に emp_sales.txt と emp_bonus.txt の2つのファイルがあると仮定します。 emp_sales.txt には営業部門の従業員の詳細が含まれ、 emp_bonus.txt にはボーナスを受け取った従業員の詳細が含まれます。
そして、以下に示すように、それぞれ emp_sales および emp_bonus の関係名でこれらのファイルをPigにロードしました。
次に、以下に示すように cogroup 演算子を使用して、キー age を持つリレーション emp_sales および emp_bonus のレコード/タプルをグループ化します。
以下に示すように、 DUMP 演算子を使用してリレーション cogroup_data を確認します。
COGROUP演算子は、年齢に応じて各リレーションのタプルをグループ化します。 各グループは特定の年齢の値を表します。
たとえば、結果の最初のタプルを検討する場合、22歳でグループ化されます。 また、2つのバッグが含まれます。最初のバッグには、22歳の最初の関係(この場合は、student_details)のすべてのタプルが含まれ、2番目のバッグには、22歳の2番目の関係(この場合、employee_details)からのすべてのタプルが含まれます 関係に年齢値が22のタプルがない場合、空のバッグが返されます。
空のバッグを持つグループの取得
- IsEmpty()関数を使用して、グループ内の *emp_sales リレーションからそのような空のバッグをリストします。
検証
以下に示すように、DUMP演算子を使用してリレーション isempty_data を確認します。 emp_sales リレーションは、リレーション emp_bonus にないタプルを保持します。