Apache-pig-count-star
提供:Dev Guides
Apache Pig-COUNT_STAR()
Pig Latinの* COUNT_STAR()関数は、 COUNT()関数に似ています。 バッグ内の要素の数を取得するために使用されます。 要素をカウントする際、 COUNT_STAR()*関数にはNULL値が含まれます。
注-
- グローバルカウント値(バッグ内のタプルの総数)を取得するには、 Group All 操作を実行し、COUNT_STAR()関数を使用してcount_star値を計算する必要があります。
- グループのカウント値(グループ内のタプル数)を取得するには、 Group By 演算子を使用してグループ化し、count_star関数を続行する必要があります。
構文
以下に、* COUNT_STAR()*関数の構文を示します。
例
以下に示すように、HDFSディレクトリ /pig_data/ に student_details.txt という名前のファイルがあると仮定します。 このファイルには空のレコードが含まれています。
そして、以下に示すように、このファイルをリレーション名 student_details でPigにロードしました。
タプル数の計算
組み込み関数* COUNT_STAR()を使用して、リレーションのタプル数を計算できます。 *Group All 演算子を使用してリレーション student_details をグループ化し、以下に示すように student_group_all という名前のリレーションに結果を保存します。
以下に示すような関係が生成されます。
リレーションのタプル/レコードの数を計算してみましょう。
検証
以下に示すように、 DUMP 演算子を使用してリレーション student_count を確認します。
出力
リレーション student_count の内容を表示する次の出力が生成されます。
関数* COUNT_STAR()*を使用したため、nullタプルが含まれ、9が返されました。