出力の設定
スキーマや出力形式といった、出力のプロパティを設定します。
次の表に、出力プロパティを示します。
プロパティ | 説明 |
---|
スキーマ | 階層出力の構造を定義するスキーマ。 データをAvro、ORC、またはParquet形式に変換するには、 [サンプルファイルから自動生成]をクリックし、 インテリジェント構造モデルを作成します。 インテリジェント構造モデルの詳細については、「Intelligent structure models」を参照してください。データをJSONまたはXML形式に変換するには、既存の階層スキーマを選択するか、 [新しいスキーマの作成]をクリックします。階層ビルダトランスフォーメーションに階層スキーマを作成する方法については、 階層スキーマのルールとガイドラインを参照してください。 階層スキーマの更新時に、既存のフィールドマッピングを保持することを選択できます。 階層スキーマの詳細については、Hierarchical schemasを参照してください。 |
精度 | 出力のバッファサイズ。 |
NULL値 | トランスフォーメーションでプリミティブJSON型のNULL値を保持するか省略するかを指定します。トランスフォーメーションをJSONベースのスキーマに関連付ける場合に適用されます。 |
出力形式 | 出力データの形式(文字列またはバイナリ)。 |
ファイルに書き込み | トランスフォーメーションがデータをフラットファイルに書き込むかどうかを決定します。このオプションを有効にした場合、[ファイルパス]フィールドにファイルパスを入力します。 ファイルパスをパラメータ化できるのは、[トランスフォーメーションの最適化]プロパティを有効にした場合のみです。 ヒント: トランスフォーメーションが大量のデータを処理し、出力フィールドのサイズが100 MBを超えるような場合は、データをフラットファイルに書き込みます。 |
パススルーフィールドを有効にする | マッピングされていないフィールドをダウンストリームトランスフォーメーションに渡すかどうかを決定します。 階層ビルダトランスフォーメーションに複数のアップストリームトランスフォーメーションが接続されている場合、トランスフォーメーションは最初に接続されたアップストリームトランスフォーメーションからのみフィールドを渡します。 |
単一の出力の生成 | トランスフォーメーションで、すべての出力要素を含む1つのJSONまたはXML構造を生成するかどうかを指定します。デフォルトでは、トランスフォーメーションは、出力要素ごとにJSONまたはXML出力構造を生成します。 単一の出力構造を生成するには、入力グループを階層フィールドの繰り返し要素にマッピングします。 出力の違いの例については、 単一の出力の例を参照してください。 |
トランスフォーメーションの最適化 | 実行時にデータをリレーショナル出力から階層出力に変換する処理パフォーマンスを最適化します。 デフォルトでは有効になっています。 |
階層スキーマのルールとガイドライン
階層ビルダトランスフォーメーションに関連付ける階層スキーマを作成するときは、次のルールとガイドラインを考慮してください。
- •スキーマの要素数は10,000未満である必要があります。
- •スキーマには、最大10,000個のフィールドを含めることができます。
- •スキーマには、最大20,000個のグループを含めることができます。
- •スキーマには、最大20レベルのデータ階層を含めることができます。
- •パフォーマンスを最適化するには、ポート数が5,000個未満で、グループ数が10個未満のスキーマを作成します。
単一の出力の例
階層ビルダトランスフォーメーションを設定して、出力要素ごとに1つの出力構造または出力構造を生成できます。例えば、従業員の連絡先情報のXMLファイルを作成しているとします。
単一の出力構造を生成することを選択した場合は、トランスフォーメーションによって次のデータが出力されます:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<EMPLOYEE_CONTACT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<item>
<PHONE>5551234567</PHONE>
</item>
<item>
<PHONE>5553456789</PHONE>
</item>
</EMPLOYEE_CONTACT>
出力構造を生成しない場合は、トランスフォーメーションによって次のデータが出力されます:
<?xml version="1.0" encoding="UTF-8"?>
<EMPLOYEE_CONTACT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<item>
<PHONE>5551234567</PHONE>
</item>
</EMPLOYEE_CONTACT>
<?xml version="1.0" encoding="UTF-8"?>
<EMPLOYEE_CONTACT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<item>
<PHONE>5553456789</PHONE>
</item>
</EMPLOYEE_CONTACT>
トランスフォーメーション最適化のルールとガイドライン
出力設定で処理パフォーマンスを最適化する場合は、次のルールとガイドラインを考慮してください。
- •単一の出力を生成する場合は、[ファイルに書き込む]オプションを有効にしていることを確認します。
- •ファイルにデータを書き込む場合は、ファイルパスをパラメータ化できます。
ファイルパスをパラメータ化するには、ファイルパスの前のパラメータ名に、$$をプレフィックス、|をサフィックスとして追加する必要があります。このパラメータを定義するには、ダウンロードしたパラメータファイルの[global]セクションにファイルパスを追加します。
次の図は、パラメータ名とそのプレフィックスとサフィックスを含むファイルパスを示しています。
- •

- •アップストリームトランスフォーメーションからフィールドをパススルーし、パススルーポートにFileNameポートが含まれている場合、トランスフォーメーションはポートから読み取り、各階層出力をこのポートで指定したファイル名に書き込みます。