関係を集計 - 7.2

Pig

Version
7.2
Language
日本語 (日本)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Open Studio for Big Data
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > 変換処理コンポーネント > Pig
データガバナンス > サードパーティーシステム > 変換処理コンポーネント > Pig
データクオリティとプレパレーション > サードパーティーシステム > 変換処理コンポーネント > Pig

手順

  1. tPigCoGroupをダブルクリックして、[Component] (コンポーネント)ビューを開きます。
  2. [Edit schema] (スキーマを編集)の横の[...]ボタンをクリックし、スキーマエディターを開きます。
  3. [+]ボタンを5回クリックして5つの行を追加し、[Column] (カラム)カラムで名前をそれぞれowner_friendagepet_numberpetstudentに変更します。
  4. age行の[Type] (タイプ)カラムで、[Integer] (整数)を選択します。
  5. [OK]をクリックしてこれらの変更を確認し、ポップアップ表示されるダイアログボックスで求められるプロパゲーションを承認します。
  6. [Group by] (グループ化)テーブルで、[+]ボタンを1回クリックして1行を追加します。
  7. 次に、[Group by] (グループ化)テーブルでグループ化の条件を設定して、2つの入力関係を集約する必要があります。入力関係を表す各カラムで、新しく追加された行をクリックして、グループ化の条件を構成するために必要なカラムを選択します。このシナリオでは、飼い主/ペット関係からのownerカラムと学生/友人関係からのfriendカラムは共通のレコードがあるので、選択されています。これらのカラムに基づいて、2つの関係はバッグに集約されます。
    Aliceというレコードに関連するバッグは以下のように表示されることがあります:
    Alice,{(Alice,turtle,17),(Alice,goldfish,17),(Alice,cat,17)},{(Cindy,Alice),(Mark,Alice)}
  8. [Output mapping] (出力マッピング)テーブルで、前に定義した出力スキーマは[Column] (カラム)カラム内に自動的に流されました。出力関係のスキーマにグループ化されたバッグを集約する方法を定義するには、このテーブルを完成させる必要があります。以下のリストには、このシナリオ用に集約の設定方法に関する詳細が含まれます。

    カラム

    説明

    owner_friend

    グループ化の条件として使用されるカラムからリテラルレコードを受信します。

    そのため、受信レコードがそのままであるように[Function] (関数)ドロップダウンリストから[EMPTY]関数を選択します。そして、[Source schema] (ソーススキーマ)リストからrow1を、[Expression] (式)リストからownerを選択して、対応する入力カラムからレコードを読み取ります。または、row2およびfriendを選択できます(グループ化の条件として使われる時に、ownerカラムとfriendカラムが結合されるため、受信されるレコードは同じです。)

    row1が入力リンクのIDであるため、自分のシナリオでは異なることがあります。

    age

    年齢データを受信します。

    前のステップのサンプルバッグに示されるように、グループ化後に飼い主の年齢が繰り返し表示されます。[Function] (関数)リストから[AVG]関数を選択して、この年齢が最終結果に1回のみ表示されるよう、反復的な値の平均を計算します。次に、[Source schema] (ソーススキーマ)リストからrow1を、[Expression] (式)リストからageを選択します。

    pet_number

    飼い主がペットを何匹飼っているかを受信します。

    [Function] (関数)リストから、[COUNT] (カウント)関数を選択して、その計算を行います。次に、[Source schema] (ソーススキーマ)リストからrow1を、[Expression] (式)リストからpetを選択します。

    petstudent

    入力petカラムと入力studentカラムから、グループ化されたレコードをそれぞれ受信します。

    両方の[EMPTY]を選択して、各カラムの[Source schema] (ソーススキーマ)リストから対応する入力スキーマを、[Expression] (式)リストから対応するカラムを選択します。