...
メソッド | 説明と例 | |||||||||||||||||||||||||||||||||
public ETLStepAPIVersion getAPIVersion() | ステップの更新を維持するYellowfinステップAPIのバージョンを定義するために使用するメソッドです。これは通常、enum ETLStepAPIVersion内の最新のバージョンです。APIバージョンは、互換性を判断するために使用されます。
| |||||||||||||||||||||||||||||||||
public Collection<ETLException> validate() | 事前実行検証を行うメソッドです。実装は、必須オプションが設定されているか、資格情報は正確か、ホストに到達可能かを確認しなくてはいけません。エラーは、ETLExceptionのインスタンスに取得され、メソッドから返されるコレクションに追加されます。または、ETLExceptionを構築する代わりに、便利なメソッドである事前実行検証を行うメソッドです。実装は、必須オプションが設定されているか、資格情報は正確か、ホストに到達可能かを確認しなくてはいけません。エラーは、ETLExceptionのインスタンスに取得され、メソッドから返されるコレクションに追加されます。または、ETLExceptionを構築する代わりに、便宜なメソッドであるgetInvalidConfigETLException()を使用することもできます。
| |||||||||||||||||||||||||||||||||
public Map<String, String> getValidatedStepOptions() | ステップオプションを有効にするメソッドです。optionKeyからoptionValueへのマッピングは、Yellowfinリポジトリデータベースに保存されます。こちらで、無効なオプション値を削除することができます。this.getStepOptions()により返されるマッピングの操作には影響しません。
| |||||||||||||||||||||||||||||||||
public void setupGeneratedFields() | ステップが新規フィールドの出力を必要とする場合は、こちらのメソッドを実装します。新規フィールド内のデータは、他のフィールドを使用して生成されます。新規フィールドは既存フィールドを置き換えるか、複製する場合もあります。Yellowfinは、各操作に便利なメソッドを提供します。こちらのメソッドは、ETLStepMetadataFieldBeanの新規インスタンスを作成するか、既存フィールドを複製することが予想されます。フィールドが事前に設定されていないか、再度設定する必要がある場合にのみ、こちらのメソッドを実行することが重要です。オプション内の変更が原因でフィールドが再作成された場合は、古いフィールドを削除しなくてはいけません。削除をしない場合、ステップが再設定される度に新規フィールドが生成されることになります。ステップが新規フィールドの出力を必要とする場合は、こちらのメソッドを実装します。新規フィールド内のデータは、他のフィールドを使用して生成されます。新規フィールドは既存フィールドを置き換えるか、複製する場合もあります。Yellowfinは、各操作に便宜メソッドを提供します。こちらのメソッドは、ETLStepMetadataFieldBeanの新規インスタンスを作成するか、既存フィールドを複製することが予想されます。フィールドが事前に設定されていないか、再度設定する必要がある場合にのみ、こちらのメソッドを実行することが重要です。オプション内の変更が原因でフィールドが再作成された場合は、古いフィールドを削除しなくてはいけません。削除をしない場合、ステップが再設定される度に新規フィールドが生成されることになります。
| |||||||||||||||||||||||||||||||||
public Integer getMinInputSteps() public Integer getMaxInputSteps() public Integer getMinOutputSteps() public Integer getMaxOutputSteps() | ステップに複数のインプットやアウトプットがある場合、これらのメソッドを上書きしなくてはいけません。Yellowfinは、ステップカテゴリーに基づき最小/最大値を返すデフォルト実装を提供します。これらの値は、これらのカテゴリーのETLStepCategory enum要素内で定義されます。 | |||||||||||||||||||||||||||||||||
YFLogger | これはメソッドではありませんが、すべてのステップに共通します。ステップは、YFLoggerを使用して、データトランスフォーメーションログに書き込むことができます。これは、インスタンス変数として宣言する必要があります。YFLoggerは、log4jのロガーclassのラッパです。
|
...
- メソッドパラメーター:メソッドはひとつのパラメーター(List<ETLStepMetadataFieldBean>)を持ちます。これらは、インプットステップからのフィールドです。これらは、便宜のために提供されます。これらはwireを取得するために使用されるかもしれませんが、以下に示すように、デフォルトメタデータフィールドの使用をお勧めします。
- 戻り値:戻り値はbooleanであり、データのロウ(行)を次のステップに出力すべきかどうかを示します。例えばフィルターステップの場合、ロウ(行)内のデータはフィルター条件を満たさないため、falseが返されます。
- 例外:ETLExceptionとInterruptedExceptionをthrowするメソッドです。処理エラーがある場合は、ETLExceptionのインスタンスにラップし、throwすることで、Yellowfinはそれをユーザーに表示することができます。便利なメソッド(をthrowするメソッドです。処理エラーがある場合は、ETLExceptionのインスタンスにラップし、throwすることで、Yellowfinはそれをユーザーに表示することができます。便宜メソッド(this.throwUnhandledETLException(e))を使用することもできます。例外はcatchや、swallowをしてはいけません。interruptedExceptionもcatchされるため、java.lang.Exceptionのcatchはお勧めできません。これが避けられない場合は、InterruptedExceptionをcatchし、異なるcatchブロックにthrowしなくてはいけません。
コードの例
...