前述の項目で紹介したメソッドの他に、AbstractETLRowStepとAbstractETLCacheStepにより部分的に実装されたYellowfinのステップAPIは、いくつかのヘルプヘソッドを提供します。大部分は便宜メソッドですが、上書きされることになるその他のメソッドもあります。APIはまた、処理の様々な段階にフックを提供します。例えば、ロウ(行)ステップは、ステップが終了する前に追加処理を行うため、preEndRows()を上書きすることができます。
javadocには完全なメソッドの一覧が記載されていますが、こちらでは重要な項目のみ紹介します。以下のカテゴリーに分割することが可能です。
- インプット/アウトプットメソッド:ステップのインプットやアウトプットフローを制御します。
- フィールドメソッド:ステップのデフォルト、またはアウトプットメタデータフィールドを処理します。
- 構成メソッド:ステップのオプションを構成するメソッドです。
- データ処理メソッド:ステップの実行中にデータ操作に使用するメドッソです。
- エラー制御メソッド:エラーを制御するために使用します。
- その他のメソッド:ステップ実装に関連する興味深いメソッドをいくつか紹介します。
インプット/アウトプットメソッド
これらのメソッドは、インプット/アウトプットステップとフローを処理します。これは、ステップ実行中の結果のみを返します。これはつまり、sestupGeneratedFields()、またはgetValidatedStepOptions()に呼び出されても、何も返さないことを意味します。validate()やprocessEndRows()のようなメソッドは、ステップ実行中に呼び出され、安全に使用されます。
メソッド | 説明 |
public Set<String> getInputFlowUuids() public Set<String> getOutputFlowUuids() | すべてのインプット/アウトプットフローUUIDを取得するメソッドです。多くのステップは複数のインプットやアウトプットを持たないため、getFirstInputFlow()や、getFirstOutputFlow()の方が有効な場合もあります。 |
public ETLStep getInputStep(String inFlowUuid) public ETLStep getOutputStep(String outFlowUuid) | フローUUIDに基づき、接続されたインプット/アウトプットステップを取得するメソッドです。 |
フィールドメソッド
ステップのフィールドを処理するメソッドです。これは、デフォルトと、アウトプットメタデータフィールドを含みます。フィールドの追加/削除のような操作のメソッドを利用することができます。
メソッド | 説明 |
public List<ETLStepMetadataFieldBean> getMetadataFields(String outFlowUuid) | 指定されたアウトプットflowUUIDのアウトプットメタデータフィールドを返すメソッドです。outFlowUUIDがnullの場合、デフォルトメタデータフィールドを返しません。 |
public List<ETLStepMetadataFieldBean> getDefaultMetadataFields() | すべてのデフォルトメタデータフィールドを返すメソッドです。APIには、fieldUUIDをキーとして、フィールドUUIDとフィールドだけをマップとして取得する他の便宜メソッドがあります。 |
protected boolean isGeneratedField(ETLStepMetadataFieldBean field) | これは、非常に有効なメソッドです。これは、パラメーターが生成されたデフォルトメタデータフィールドの場合にtrueを返します。 |
public ETLStepMetadataFieldBean addNewGeneratedField(ETLStepMetadataFieldBean field, String optionKey) | これは、NEWFIELDのlinkTypeを含む新規デフォルトメタデータフィールドを作成します。また、指定されたオプションキーとともにステップをオプションを作成し、その値をフィールドのUUIDとして設定します。このメソッドはfueildUUIDを生成するため、パラメーター変数に何が設定されてもそれを上書きます。メソッドは、新しく構築され、リンクされたフィールドを返します。LinkTypeやlinkFieldUUIDの設定のような高度なオプションには、addGeneratedField()が使用される場合もあります。既存のデフォルトメタデータフィールドを置き換える、その他の便宜メソッドもあります。javadocで、replaceDefaultField()、restoreReplacedField()、isReplacementField()を参照してください。 |
public void removeDefaultMetadataField(String fieldUUID) | 既存のデフォルトメタデータフィールドを削除するために使用するメソッドです。しかし、これは不可逆的にステップを破損する恐れがあるため、インプットステップからのデフォルトフィールド削除に使用するには、安全ではありません。
|
protected void excludeDefaultField(String fieldUUID) | こちらのフローを使用して、フローからデフォルトメタデータフィールドを削除します。 これは、デフォルトメタデータフィールドが、ステップのアウトプットメタデータフィールドに含まれるのを防ぎます。このフィールド内のデータを、次のステップで使用することはできません。しかし、データは内部処置に使用することができ、他のフィールドに出力することができる場合もあります。例えば、テキストから数値へのデータ型変換は、元のテキストフィールドを削除し、変換された数値フィールドと置き換えます。 |
protected void includeDefaultField(String fieldUUID,Integer position) | こちらのメソッドを使用して、フローにデフォルトメタデータフィールドを含めます。これは、指定された位置(0から始まる)のフィールドを復元します。
|
public Map<String, String> getDefaultToInputFieldMap() public Map<String, String> getInputToDefaultFieldMap() | デフォルトメタデータフィールド(デフォルトからインプット)とインプットメタデータフィールド(インプットからデフォルト)のターゲットのソースを取得するメソッドです。 |