tHMapInputと2つの出力コンポーネントを持つジョブを作成し、JSONファイルを2つのCSVファイルに変換します。
このタスクについて
この例では入力にローカルファイルを使用していますが、HDFS接続を作成することもできます。詳細は、HDFSコンポーネントをご覧ください。
手順
- Integrationパースペクティブで[Job Designs] (ジョブデザイン)ノードを右クリックし、[Create Big Data Batch Job] (ビッグデータバッチジョブを作成)をクリックします。
- ジョブの名前、目的、説明を入力して[Finish] (終了)をクリックします。
-
次のコンポーネントをデザインワークスペースに追加します。
- tHMapInput
- tFileOutputDelimited
-
tHMapInputをクリックして[Components] (コンポーネント)タブに移動し、コンポーネントを設定します。
- ローカルファイルで作業している場合は、[Define a storage configuration component] (ストレージ設定コンポーネントを定義)をオフにします。
-
[Input] (入力)フィールドに、入力ファイルへのパスを入力します。
例
"c:/users/jsmith/documents/courses.json"
-
tFileOutputDelimitedをダブルクリックして設定を行います:
- [Define a storage configuration component] (ストレージ設定コンポーネントを定義)をオフにします。
- [Edit schema] (スキーマを編集)の横にある[...]ボタンをクリックし、カラムを2つ作成してそれぞれidとtitleという名前を付けます。
-
出力ファイルが作成されるフォルダーへのパスを入力します。
例
"c:/users/jsmith/documents/modules"
- tFileOutputDelimitedコンポーネントを右クリックし、[Copy] (コピー)をクリックしてデザインワークスペースに貼り付けて、同じ設定で2番目のコンポーネントを作成します。
-
tFileOutputDelimited_2を右クリックし、[Folder] (フォルダー)フィールドの値を変更します。
例
"c:/users/jsmith/documents/sections" -
[Row] (行) > [Main] (メイン)で、modulesとsectionsという名前の接続でtHMapInputを2つのtFIleOutputDelimitedコンポーネントにリンクさせ、ターゲットコンポーネントからスキーマを取得するかどうか尋ねられた場合は[Yes] (はい)をクリックします。
ジョブは次のようになります。
-
tHMapInputジョブをダブルクリックし、ウィザードに従ってマップを生成します。
- ビッグデータバッチジョブの入力ストラクチャーを作成で作成されたストラクチャーを選択して[Next] (次へ)をクリックします。
-
[Start/End with] (開始/終了文字)を選択します。
この例では、次の正規表現が[Start/End with] (開始/終了文字)フィールド:
\{\s*(\'course\'|\"course\")
に自動的に追加されます。 - オプション:
[...]ボタンをクリックしてサンプル入力ファイルを追加し、[Run] (実行)をクリックして見つかったレコードをチェックします。
この場合、見つかるレコードは3つです。
例
- [Finish] (終了)をクリックします。