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です。