メイン コンテンツをスキップする 補完的コンテンツへスキップ

tJDBCOutputの標準プロパティ

これらのプロパティは、標準ジョブのフレームワークで実行されているtJDBCOutputを設定するために使われます。

標準tJDBCOutputコンポーネントは、データベースファミリーに属しています。

このフレームワーク内のコンポーネントは、すべてのTalend製品で使用できます。

情報メモ注: このコンポーネントは、動的データベースコネクターの特定のバージョンです。データベース設定に関連するプロパティは、データベースタイプの選択に応じて異なります。動的データベースコネクターについては、DB Genericコンポーネントをご覧ください。

基本設定

データベース

目的のデータベースタイプをリストから選択し、[Apply] (適用)をクリックします。

[Property Type] (プロパティタイプ)

接続の詳細を設定する方法を選択します。

  • [Built-In] (組み込み): このコンポーネントの接続の詳細がローカルに設定されます。関連するすべての接続のプロパティ値を手動で指定する必要があります。

  • [Repository] (リポジトリー): [Repository] (リポジトリー) > [Metadata] (メタデータ)で一元的に保存された接続の詳細が、このコンポーネントによって再使用されます。

    このチェックボックスの横にある [...] ボタンをクリックし、表示された [Repository Content] (リポジトリーのコンテンツ)ダイアログボックスで、再使用する接続の詳細を選択すると、関連するすべての接続のプロパティに値が自動的に入力されます。

[Connection Component] (接続コンポーネント)ドロップダウンリストから、他の接続コンポーネントを選択した場合、このプロパティは、利用できません。

このアイコンをクリックすると、データベース接続ウィザードが開き、コンポーネント[Basic settings] (基本設定)ビューに設定したデータベース接続パラメーターが保存されます。

データベース接続パラメーターの設定と保存の詳細は、データベースメタデータを一元管理をご覧ください。

[Connection Component] (接続コンポーネント)

このコンポーネントで再利用するデータベース接続を開くコンポーネントを選択します。

JDBC URL

使用するデータベースのJDBC URL。たとえば、Amazon RedshiftデータベースのJDBC URLはjdbc:redshift://endpoint:port/databaseです。

[Drivers] (ドライバー)

必要なドライバーJARをロードするには、このテーブルに記入してください。これを行うには、テーブルの下の[+]ボタンをクリックして、必要に応じてドライバーJAR用行数を増やします。セルを選択し、セルの右側にある[...]ボタンをクリックして、[Module] (モジュール)ダイアログボックスを開くと使用するドライバーJARを選択できます。たとえば、RedshiftデータベースのドライバーjarはRedshiftJDBC41-1.1.13.1013.jarです。

詳細は、[Importing a database driver] (データベースドライバのインポート)をご覧ください。

[Driver Class] (ドライバークラス)

指定したドライバーのクラス名を二重引用符で囲んで入力します。たとえば、RedshiftJDBC41-1.1.13.1013.jarドライバーの場合、入力する名前はcom.amazon.redshift.jdbc41.Driverになります。

[User Id] (ユーザーID)[Password] (パスワード)

データベースユーザー認証データ。

パスワードを入力するためには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。

[Table Name] (テーブル名)

データが書き込まれるテーブルの名前。

データのアクション

定義されたテーブルのデータに対して実行する操作を選択します。

  • [Insert] (挿入): テーブルに新しいエントリーを追加します。重複が見つかると、ジョブは停止します。

  • [Update] (アップデート): 既存のエントリーが変更されます。

  • [Insert or update] (挿入またはアップデート): インデックスプールに新しいレコードを挿入します。指定された参照を持つレコードが既に存在する場合は、アップデートされます。

  • [Update or insert] (アップデートまたは挿入): 指定された参照を使用してレコードをアップデートします。レコードがインデックスプールに存在しない場合は、新しいレコードが挿入されます。

  • [Delete] (削除): 入力フローに対応するエントリーを削除します。

情報メモ警告:

[Update] (アップデート)操作と[Delete] (削除)操作のベースとなるプライマリキーとして、カラムを少なくとも1つ指定する必要があります。この場合、[Edit Schema] (スキーマを編集)をクリックし、プライマリキーとして設定するカラムの横にあるチェックボックスをオンにします。高度な設定を行う場合は、[Advanced settings] (詳細設定)ビューをクリックして、アップデートおよび削除操作のプライマリキーを同時に定義できます。これを設定するには、以下のようにします: [Use field options] (フィールドオプションを使う)チェックボックスをオンにし、[Key in update column] (アップデートのキーカラム)で、アップデート操作のベースとして使うカラム名の横にあるチェックボックスをオンにします。削除操作の[Key in delete column] (削除カラムのキー)でも同じようにします。

テーブルのデータを消去 定義されたアクションを実行する前にテーブル内のデータをクリアするには、このチェックボックスをオンにします。
[Schema] (スキーマ)[Edit schema] (スキーマを編集)

スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。

  • [Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。

  • [Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。

再使用するスキーマに整数またはファンクションのデフォルト値が指定されている場合は、これらのデフォルト値を引用符で囲まないようにご注意ください。引用符で囲まれている場合は手動で削除します。

詳細は、テーブルスキーマを取得をご覧ください。

スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。変更を加えると、スキーマは自動的に組み込みになります。

  • [View schema] (スキーマを表示): スキーマのみを表示する場合は、このオプションを選択します。

  • [Change to built-in property] (組み込みのプロパティに変更): ローカルで変更を行うためにスキーマを組み込みに変更する場合は、このオプションを選択します。

  • [Update repository connection] (リポジトリー接続をアップデート): リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。

    変更を現在のジョブにのみ反映する場合は、変更後、[No] (いいえ)を選択し、[Repository Content] (リポジトリーコンテンツ)ウィンドウで再びこのスキーマのメタデータを選択します。

[Guess Schema] (推測スキーマ)

このボタンをクリックすると、データベーステーブルのカラムの設定に基づいてスキーマカラムが生成されます。

[Die on error] (エラー発生時に強制終了)

このチェックボックスを選択すると、エラー発生時にジョブの実行が停止されます。

エラーの発生した行をスキップし、エラーが発生していない行の処理を完了するには、このチェックボックスをオフにします。

エラーがスキップされる際、Row > Reject接続を使って、エラー行を収集できます。

[Specify a data source alias] (データソースエイリアスを指定)

このチェックボックスをオンにして、[Data source alias] (データソースエイリアス)フィールドが表示されたら、データソース設定で定義した共有接続プールを使用するために、Talend Runtime側で作成したデータソースのエイリアスを指定します。このオプションは、Talend Runtime内にジョブをデプロイして実行する時にのみ機能します。

コンポーネント自体のデータベース設定を使用する場合、データソース接続はコンポーネントの末尾で閉じることになります。これを防ぐには、データソースエイリアスを指定して、共有データベース接続を使用してください。

[Connection Component] (接続コンポーネント)ドロップダウンリストから、他の接続コンポーネントを選択した場合、このプロパティは、利用できません。

詳細設定

[Commit every] (コミットする間隔)

ノードのバッチがデータベースにコミットされるまでに処理されているべき行数を指定します。

このオプションにより、トランザクションの質(ただしロールバックは含まない)、特に実行時のパフォーマンスの向上が保証されます。

既存のJDBC接続と共に使用する場合、tJDBCOutputはランタイムでこのオプションを無視します。

[Additional Columns] (追加のカラム)

このオプションにより、SQLファンクションを呼び出してカラムにアクションを実行できます。ただし、挿入、アップデート、削除のアクションでないこと、特定の事前処理を必要とするアクションでないことが条件です。ドロップの有無を問わず、データベーステーブルを作成する場合はこのオプションは提供されません。

  • [Name] (名前): 挿入するスキーマカラムの名前、または既存のカラムを置き換えるために使用されるスキーマカラムの名前。

  • [SQL expression] (SQL式): 関連するカラムを挿入または置換するために実行するSQLステートメント。

  • [Position] (位置): 参照カラムに対して実行されるアクションに従って、[Before] (実行前)[Replace] (置換)[After] (実行後)のいずれかを選択します。

  • [Reference column] (参照カラム): 挿入する、または置き換える新しいカラムを見つけるために使用できる参照カラムの名前。

[Use field options] (フィールドオプションを使用)

このチェックボックスをオンにし、表示される[Fields options] (フィールドオプション)テーブルで、対応するカラムのチェックボックスをオンにして、特にデータに対して複数のアクションが実行されている場合に、リクエストをカスタマイズします。

  • [Key in update] (キー入力アップデート): データのアップデートに基づいて対応するカラムのチェックボックスをオンにします。
  • [Key in delete] (削除の入力): データ削除の基準とする対応するカラムのチェックボックスをオンにします。
  • [Updatable] (アップデート可能): 対応するカラムのデータをアップデートできる場合は、チェックボックスをオンにします。

  • [Insertable] (挿入可能): 対応するカラムのデータを挿入できる場合は、チェックボックスをオンにします。

[Debug query mode] (デバッグクエリーモード)

このチェックボックスを選択すると、データベースのエントリーの処理中に各ステップが表示されます。

[Use Batch] (バッチを使用)

このチェックボックスをオンにしてデータ処理のバッチモードを有効に設定し、[Batch Size] (バッチサイズ)フィールドが表示されたら、各バッチで処理するレコード数を指定します。

[Use query timeout] (クエリータイムアウトを使用)

このオプションを選択して、クエリーまたはバッチクエリーのタイムアウト期間を設定するために使われます。クエリーまたはバッチクエリーがタイムアウトするとジョブは終了します。[Timeout] (タイムアウト)フィールドで、タイムアウト期間(秒)を設定できます。

情報メモ注:
  • このオプションは個別のSQLステートメントに適用されるか、SQLステートメントのセット(つまり、バッチクエリー)に適用されるかは、ドライバーの実装によって異なります。詳細は、ドライバーベンダーのドキュメンテーションをご覧ください。
  • このオプションは、Talendが提供するR2021-12以降のStudio Talendマンスリーアップデートをインストール済みである場合のみ利用できます。詳細は管理者にお問い合わせください。

[tStatCatcher Statistics] (tStatCatcher統計)

このチェックボックスを選択すると、ジョブレベルおよび各コンポーネントレベルでジョブ処理メタデータが収集されます。

[Enable parallel execution] (並列実行を有効化)

このチェックボックスを選択すると、複数のデータフローを同時に処理することにより、高速データ処理を実行できます。このフィーチャーは、データベースまたは複数の挿入を並行して処理するアプリケーションの機能と、関係するCPUの数に依存します。このチェックボックスをオンにして、表示される[Number of parallel executions] (並列実行の数)フィールドに必要な並列実行の数を指定する必要があります。

情報メモ注: 並列実行が有効になっている場合、グローバル変数を使用して戻り値を取得することはできません。

グローバル変数

ERROR_MESSAGE

エラー発生時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。

NB_LINE

処理された行数。これはAfter変数で、整数を返します。

NB_LINE_INSERTED

挿入された行数。これはAfter変数で、整数を返します。

NB_LINE_UPDATED

アップデートされた行数。これはAfter変数で、整数を返します。

NB_LINE_DELETED

削除された行の数。これはAfter変数で、整数を返します。

NB_LINE_REJECTED

リジェクトされた行数。これはAfter変数で、整数を返します。

QUERY

処理されるクエリーステートメント。これはFlow変数で、文字列を返します。

使用方法

使用ルール

このコンポーネントでは、データベースクエリーの柔軟性によるメリットが提供されており、使用可能なすべてのSQLクエリーが網羅されています。

このコンポーネントは、出力コンポーネントとして使用する必要があります。このコンポーネントを使って、JDBCデータベース内のテーブルまたはテーブルのデータにアクションを実行できます。また、[Row] (行) > [Rejects] (リジェクト)リンクを使用して、エラーのあるデータをフィルタリングするリジェクトフローを作成することもできます。tMysqlOutputの使い方の例は、リジェクトリンクを使用してエラーデータを取得するをご覧ください。

[Dynamic settings] (ダイナミック設定)

[+]ボタンをクリックしてテーブルに行を追加し、[Code] (コード)フィールドにコンテキスト変数を入力して、ジョブ内で計画した複数の接続からデータベース接続をダイナミックに選択します。この機能は、データストラクチャーが同じでデータベースが異なるデータベーステーブルにアクセスする必要がある場合、特に、Studio Talendを介さずにジョブをデプロイおよび実行する必要がある時など、ジョブの設定を変更できない環境で作業している場合に役立ちます。

ダイナミックパラメーターの定義法を示すユースケースについては、コンテキストベースのダイナミック接続によってデータベースからデータを読み取りと、ダイナミックにロードされた接続パラメーターを使って異なるMySQLデータベースからデータを読み取りをご覧ください。ダイナミック設定とコンテキスト変数の詳細は、ダイナミックスキーマコンテキストグループを作成し、その中でコンテキスト変数を定義をご覧ください。

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。