tHSQLDbOutput
ジョブ内の先行するコンポーネントからのフローをベースに、テーブルで、またはテーブルに含まれているデータで定義されているアクションを実行します。
tHSQLDbOutputは、データベースでのエントリーの書き込み、アップデート、変更、抑制を行います。
tHSQLDbOutputの標準プロパティ
これらのプロパティは、標準ジョブのフレームワークで実行されている tHSQLDbOutputを設定するために使われます。
標準のtHSQLDbOutputコンポーネントは、データベースファミリーに属しています。
このフレームワーク内のコンポーネントは、すべてのTalend製品で利用できます。
基本設定
| プロパティ | 説明 |
|---|---|
|
[Property type] (プロパティタイプ) |
|
|
|
このアイコンをクリックすると、データベース接続ウィザードが開き、コンポーネント[Basic settings] (基本設定)ビューに設定したデータベース接続パラメーターが保存されます。 データベース接続パラメーターの設定と保存の詳細は、データベースメタデータを一元管理をご覧ください。 |
|
[Running Mode] (実行モード) |
4つの提案の中から、DBセットアップに対応するサーバーモードをリストから選択します: HSQLDbサーバー、HSQLDb Webサーバー、HSQLDbインプロセスパーシステント、HSQLDbインメモリ。 |
|
[Use TLS/SSL Sockets] (TLS/SSLソケットの使用) |
必要に応じてセキュアモードを有効にするには、このチェックボックスをオンにします。 |
|
Host (ホスト) |
データベースサーバーのIPアドレス |
|
[Port] (ポート) |
データベースサーバーのリスニングポート番号。 |
|
[Database] (データベース) |
データベースの名前 |
|
[Username] (ユーザー名)と[Password] (パスワード) |
DBユーザー認証データ。 パスワードを入力するためには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。 |
|
[DB path] (DBパス) |
接続するデータベースのディレクトリーを指定します。このフィールドは、[HSQLDb In Process Persistent] (永続プロセスのHSQLDb)実行モードでのみ使用できます。 情報メモ注:
デフォルトでは、このフィールドで指定したデータベースが存在しない場合、データベースは自動的に作成されます。このデフォルト設定を変更する場合は、[Advanced settings] (詳細設定)ビューの [Additional JDBC parameter] (追加のJDBCパラメーター)フィールドで設定された接続パラメーターを変更します。 |
|
[DB name] (DB名) |
接続するデータベース名を入力します。このフィールドは、[HSQLDb In ProcessPersistent] (永続プロセスのHSQLDb)実行モードとHSQLDbInMemory実行モードでのみ使用できます。 |
|
[Table] (テーブル) |
書き込まれるテーブルの名前。一度に書き込みができるテーブルは1つだけです。 |
|
[Action on table] (テーブルでのアクション) |
定義済みのテーブルで、次のオペレーションの1つを実行できます。 [None] (なし): 操作は行われません。 [Drop and create a table] (ドロップしてテーブルを作成): テーブルが削除され、再び作成されます。 [Create a table] (テーブルを作成): テーブルが存在しないため、作成されます。 [Create a table if not exists] (テーブルが存在しない場合は作成): テーブルが存在しない場合は作成されます。 [Drop a table if exists and create] (テーブルが存在する場合はドロップして作成): テーブルが既に存在する場合は削除されて再作成されます。 [Clear a table] (テーブルをクリア): テーブルのコンテンツが削除されます。 |
|
[Action on data] (データでのアクション) |
定義されたテーブルのデータで実行できる操作は次のとおりです。 [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カラムで同じようにします。 |
|
[Schema] (スキーマ)と[Edit schema] (スキーマを編集) |
|
|
[Die on error] (エラー発生時に強制終了) |
このチェックボックスはデフォルトで選択されています。エラーの発生した行をスキップし、エラーが発生していない行の処理を完了するには、このチェックボックスをオフにします。必要に応じて[Row] (行) > [Rejects] (リジェクト)リンクを使用してエラー発生時に行を取得できます。 |
詳細設定
| プロパティ | 説明 |
|---|---|
|
[Additional JDBC parameters] (追加のJDBCパラメーター) |
作成するDB接続の接続の追加プロパティを指定します。実行モードがHSQLDb In Process Persistentの場合、接続のプロパティifexists=trueを設定して、既存のデータベースへの接続のみを許可し、新規データベースの作成を避けることができます。 情報メモ注:
事前定義済みのグローバル変数のリストにアクセスするには、Ctrl + スペースを押します。 |
|
[Commit every] (コミットする間隔) |
ノードのバッチがDBにコミットされるまでに完了しているべき行数を入力します。このオプションにより、トランザクションの質(ただしロールバックは含まない)、特に実行時のパフォーマンスの向上が保証されます。 |
|
[Additional Columns] (追加のカラム) |
|
|
[Use field options] (フィールドオプションを使用) |
特にデータに二重のアクションがある場合、リクエストをカスタマイズするには、このチェックボックスをオンにします。 |
| [Debug query mode] (デバッグクエリーモード) |
このチェックボックスを選択すると、データベースのエントリーの処理中に各ステップが表示されます。 |
|
[tStat Catcher Statistics] (tStatCatcher統計) |
このチェックボックスを選択すると、コンポーネントレベルでログデータを収集できます。 |
|
[Enable parallel execution] (並列実行を有効化) |
このチェックボックスを選択すると、複数のデータフローを同時に処理することにより、高速データ処理を実行できます。このフィーチャーは、データベースまたは複数の挿入を並行して処理するアプリケーションの機能と、関係するCPUの数に依存していることにご注意ください。[Number of parallel executions] (並列実行の数)フィールドで次のいずれかの操作を行います。
並列実行を有効にすると、グローバル変数を使ってサブジョブで戻り値を取得することはできないことにご注意ください。
|
グローバル変数
| 変数 | 説明 |
|---|---|
|
グローバル変数 |
NB_LINE: 入力コンポーネントによって読み取られた行の数、または出力コンポーネントに転送された行の数。これはAfter変数で、整数を返します。 NB_LINE_UPDATED: アップデートされた行の数。これはAfter変数で、整数を返します。 NB_LINE_INSERTED: 挿入された行の数。これはAfter変数で、整数を返します。 NB_LINE_DELETED: 削除された行の数。これはAfter変数で、整数を返します。 NB_LINE_REJECTED: 拒否された行の数。これはAfter変数で、整数を返します。 QUERY: 処理されたクエリーステートメント。これはAfter変数で、文字列を返します。 フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。 変数の詳細は、コンテキストと変数を使用をご覧ください。 Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。 |
使用方法
| 使用方法のガイダンス | 説明 |
|---|---|
|
使用ルール |
このコンポーネントでは、DBクエリーの柔軟性によるメリットが提供されており、使用可能なすべてのSQLクエリーが網羅されています。 このコンポーネントは、出力コンポーネントとして使用する必要があります。このコンポーネントを使用して、MySQLデータベース内のテーブルまたはテーブルのデータにアクションを実行できます。また、[Row] (行) > [Rejects] (リジェクト)リンクを使用して、エラーのあるデータをフィルタリングするリジェクトフローを作成することもできます。tMysqlOutputの使用例については、リジェクトリンクを使用してエラーデータを取得するをご覧ください。 |
|
接続 |
外部リンク(このコンポーネントから別のコンポーネントへのリンク): [Row] (行): メイン、リジェクト [Trigger] (トリガー): Run if; On Component Ok; On Component Error; On Subjob Ok; On Subjob Error 受信リンク(あるコンポーネントからこのコンポーネントへのリンク): [Row] (行): メイン [Trigger] (トリガー): Run if; On Component Ok; On Component Error; On Subjob Ok; On Subjob Error 接続の詳細は、ジョブにおける接続の使い方をご覧ください。 |
| 制限事項 |
ライセンスの互換性の問題のため、このコンポーネントの使用に必要な1つ以上のJARが提供されていません。この特定のコンポーネントに不足しているJARをインストールするには、Component (コンポーネント)タブビューの[Install] (インストール)ボタンをクリックします。Talend StudioのIntegrationパースペクティブにある[Modules] (モジュール)タブでも、不足しているすべてのJARを簡単に見つけて追加できます。詳細は、外部モジュールをインストールをご覧ください。 |