Talend-Pigでの作業

この章では、TalendでPigジョブを操作する方法を学びましょう。

TalendPigジョブの作成

このセクションでは、TalendでPigジョブを実行する方法を学びましょう。ここでは、NYSEデータを処理して、IBMの平均在庫量を調べます。

これを行うには、[ジョブデザイン]を右クリックして、新しいジョブ(pigjob)を作成します。ジョブの詳細に言及し、[完了]をクリックします。

Pigジョブへのコンポーネントの追加

Pigジョブにコンポーネントを追加するには、4つのTalendコンポーネント(tPigLoad、tPigFilterRow、tPigAggregate、tPigStoreResult)をパレットからデザイナーウィンドウにドラッグアンドドロップします。

次に、tPigLoadを右クリックして、tPigFilterRowへのPigCombine行を作成します。次に、tPigFilterRowを右クリックして、tPigAggregateへのPigCombine行を作成します。tPigAggregateを右クリックして、tPigStoreResultへのPig結合行を作成します。

コンポーネントと変換の構成

tPigLoadで、配布をclouderaおよびclouderaのバージョンとして記述します。Namenode URIは「hdfs://quickstart.cloudera:8020」であり、ResourceManagerは「quickstart.cloudera:8020」である必要があることに注意してください。また、ユーザー名は「cloudera」である必要があります。

入力ファイルURIで、NYSE入力ファイルのpigジョブへのパスを指定します。この入力ファイルはHDFSに存在する必要があることに注意してください。

[スキーマの編集]をクリックし、以下に示すように列とそのタイプを追加します。

tPigFilterRowで、「高度なフィルターを使用する」オプションを選択し、「フィルター」オプションに「stock_symbol = = 'IBM'」を入力します。

以下に示すように、tAggregateRowで、[スキーマの編集]をクリックし、出力にavg_stock_volume列を追加します。

次に、stock_exchange列をGroupbyオプションに配置します。countFunctionとstock_exchangeを入力列として[Operations]フィールドにavg_stock_volume列を追加します。

tPigStoreResultで、Pigジョブの結果を保存する結果フォルダーURIに出力パスを指定します。ストア関数をPigStorageとして選択し、フィールド区切り文字(必須ではありません)を「\ t」として選択します。

豚の仕事を実行する

次に、[実行]をクリックしてPigジョブを実行します。(警告は無視してください)

ジョブが終了したら、行って、pigジョブの結果を保存するために言及したHDFSパスで出力を確認します。IBMの平均在庫量は500です。