tMysqlOutput標準プロパティ - 7.3

MySQL

Version
7.3
Language
日本語 (日本)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > DBコンポーネント > MySQL
データガバナンス > サードパーティーシステム > DBコンポーネント > MySQL
データクオリティとプレパレーション > サードパーティーシステム > DBコンポーネント > MySQL

これらのプロパティを使用して、標準ジョブフレームワークで実行されているtMysqlOutputを設定します。

標準tMysqlOutputコンポーネントはデータベースファミリーのコンポーネントです。

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

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

基本設定

データベース

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

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

[Built-In] (組み込み)または[Repository] (リポジトリー)のいずれか。

[Built-In] (組み込み): プロパティデータは一元的に保存されません。

[Repository] (リポジトリー): プロパティを保存するリポジトリーファイルを選択します。

[DB Version] (DBバージョン)

使用するMySQLのバージョンを選択します。

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

データベース接続パラメーターの設定と保存の詳細は、 Talend Studio ユーザーガイドを参照してください。

[Use an existing connection] (既存の接続を使用)

定義済みの接続の詳細を再利用するには、このチェックボックスをオンにして、[Component List] (コンポーネントリスト)で該当する接続コンポーネントをクリックします。

注: ジョブに親ジョブと子ジョブが含まれている時は、2つのレベルの間の既存の接続を共有する必要がな場合(たとえば、親ジョブで作成した接続を子ジョブと共有するなど)には、以下を実行する必要があります。
  1. 親レベルで、共有するデータベース接続を、そのデータベース接続そのものを作成する接続コンポーネントの[Basic settings] (基本設定)ビューに登録します。

  2. 子レベルで、登録済みのそのデータベース接続を読み取るために専用の接続コンポーネントを使用します。

ジョブレベルをまたがってデータベース接続を共有する方法の例は、『 Talend Studio ユーザーガイド』を参照してください。

[Host] (ホスト)

データベースサーバーのIPアドレス。

[Port] (ポート)

DBサーバーのリスニングポート番号。

[Database] (データベース)

データベースの名前。

[Username] (ユーザー名)[Password] (パスワード)

DBユーザー認証データ。

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

[Table] (テーブル)

書き込まれるテーブルの名前。一度に書き込みができるテーブルは1つだけです。

[Action on table] (テーブルへのアクション)

定義済みのテーブルで、次のオペレーションの1つを実行できます。

[Default] (デフォルト): 操作は行われません。

[Drop and create a table] (ドロップしてテーブルを作成): テーブルが削除され、再び作成されます。

[Create a table] (テーブルの作成): テーブルが存在せず、作成されます。

[Create a table if not exists] (存在しない場合はテーブルを作成): テーブルが存在しない場合は、作成されます。

[Drop a table if exists and create] (テーブルがある場合はテーブルをドロップして作成): テーブルが既に存在する場合は削除され、再び作成されます。

[Clear a table] (テーブルのクリア): テーブルのコンテンツが削除されます。

[Truncate table] (テーブルを切り詰める): テーブルのコンテンツがすぐに削除されます。ただし、オペレーションをロールバックすることはできません。

[Action on data] (データへのアクション)

定義されたテーブルのデータでは、以下の操作を実行できます:

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

[Update] (更新): 既存のエントリーが変更されます。
注: スキーマカラムがすべてキーとして設定されている場合は、このアクションによってエラーが発生し、ジョブが失敗します。
[Insert or update] (挿入または更新): 新しいレコードを挿入します。指定された参照を持つレコードが既に存在する場合は、更新されます。
注: スキーマカラムがすべてキーとして設定されている場合は、このアクションによって警告メッセージが発生し、ジョブが続行されます。
[Update or insert] (更新または挿入): 指定された参照を使用してレコードを更新します。レコードが存在しない場合は、新しいレコードが挿入されます。
注: スキーマカラムがすべてキーとして設定されている場合は、このアクションによって警告メッセージが発生し、ジョブが続行されます。

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

[Replace] (置換): テーブルに新しいエントリを追加します。プライマリキーまたはユニークなインデックスで、テーブル内の古い行に新しい行と同じ値のものがある場合は、新しい行が挿入される前に古い行が削除されます。

[Insert or update on duplicate key or unique index] (重複キーまたはユニークなインデックスの挿入または更新): 挿入する値が存在しない場合は、エントリを追加します。挿入する値が既に存在し、ユニークなインデックスまたはプライマリキーに違反するリスクがある場合は、エントリを更新します。
注: スキーマカラムがすべてキーとして設定されている場合は、このアクションによってエラーが発生し、ジョブが失敗します。

[Insert Ignore]: 重複キーエラーを防ぐために新しい行のみ追加します。

警告:

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

注:

ダイナミックスキーマ機能は以下のモードで使用できます: [Insert] (挿入)[Update] (更新)[Insert or update] (挿入または更新)[Update or insert] (更新または挿入)[Delete] (削除)

[Schema] (スキーマ)および[Edit schema] (スキーマを編集)

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

このコンポーネントはダイナミックスキーマ機能の利点を備えているので、ソースファイルから不明なカラムを取得したり、各カラムを個別にマッピングしなくてもソースからカラムを一括してコピーしたりできます。ダイナミックスキーマの詳細は、『 Talend Studio ユーザーガイド』を参照してください。

このダイナミックスキーマ機能は、テーブルの不明なカラムを取得する目的で設計されており、この目的に限り使用をお勧めします。テーブルの作成で使用することは勧められていません。

 

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

 

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

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

詳細は、Talend Studioユーザーガイドでテーブルスキーマに関連する説明を参照してください。

 

スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを使用できます。

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

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

  • [Update repository connection] (リポジトリー接続を更新): リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。変更を現在のジョブにのみ反映する場合は、変更後、[No] (いいえ)を選択し、[Repository Content] (リポジトリーのコンテンツ)ウィンドウで再びこのスキーマのメタデータを選択します。

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

このチェックボックスは、デフォルトで選択されています。エラーの発生した行をスキップし、エラーが発生していない行の処理を完了するには、このチェックボックスをオフにします。必要に応じて[Row] (行) > [Rejects] (リジェクト)リンクを使用してエラーの発生している行を取得できます。

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

このチェックボックスをオンにして、データソース設定で定義した共有接続プールを使用するために、 Talend Runtime 側で作成したデータソースのエイリアスを指定します。このオプションは、 Talend Runtime 内にジョブをデプロイして実行する時にのみ機能します。

警告:

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

このチェックボックスは、[Use an existing connection] (既存の接続を使用)チェックボックスがオンの場合には使用できません。

詳細設定

[Use alternate schema] (代替スキーマを使用)

データベース接続を確立するコンポーネント(つまり、[Basic settings] (基本設定)ビューの[Component list] (コンポーネントリスト)ドロップダウンリストから選択されたコンポーネント)によって指定されたスキーマ以外のスキーマを使うには、このオプションを選択します。このオプションを選択した後、[Schema] (スキーマ)フィールドに目的のスキーマの名前を入力します。

このオプションは、[Basic settings] (基本設定)ビューで[Use an existing connection] (既存の接続を使用)がオンの場合に利用できます。

[Additional JDBC parameters] (その他のJDBCパラメーター)

作成するDB接続の追加の接続プロパティを指定します。このオプションは、[Basic settings] (基本設定)[Use an existing connection] (既存の接続の使用)チェックボックスをオンにしている場合は使用できません。

注:

事前定義済みのグローバル変数のリストにアクセスするには、[Ctrl] + [Space]を押します。

挿入の拡張

行を1つずつ挿入するのでなく、指定した一連の行を一括挿入するには、このチェックボックスをオンにします。システムパフォーマンスが大幅に向上します。

[Number of rows per insert] (インサート毎の行数): オペレーションごとに挿入される行数を指定します。指定する値が大きいほどメモリの使用量が増えるため、パフォーマンスがその分低下します。

注:

このオプションは[Reject] (リジェクト)リンクと互換性がありません。したがって、このコンポーネントに[Row] (行) > [Rejects] (リジェクト)リンクを使用する場合は、このチェックボックスをオフにする必要があります。

警告:

このコンポーネントをtMysqlLastInsertIDと一緒に使用している場合は、[Advanced Settings] (詳細設定)[Extend Insert] (挿入の延長)チェックボックスがオンになっていないことをご確認ください。[Extend Insert] (挿入の延長)を使用するとバッチローディングが可能になりますが、このチェックボックスをオンにしていると、最後のバッチの最後の行のIDのみが返されます。

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

このチェックボックスをオンにして、データ処理のバッチモードを有効にします。

注:

このチェックボックスは、[Action on data] (データへのアクション)フィールドで[Update] (更新)または[Delete] (削除)オプションを選択している場合にのみ使用できます。

Batch Size (バッチサイズ)

各バッチで処理するレコードの数を指定します。

このフィールドは、[Use batch mode] (バッチモードの使用)チェックボックスがオンの場合にのみ表示されます。

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

DBにコミットされる前にバッチに含める行数。このオプションにより、トランザクションの質(ただしロールバックは含まない)、特に高いパフォーマンスレベルが保証されます。

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

このオプションは、DBテーブルを作成したばかりの時は使用できません(事前に削除した場合でも)。このオプションにより、SQLファンクションを呼び出してカラムにアクションを実行できます。ただし、挿入、更新、削除のアクションでないこと、事前処理を必要とするアクションでないことが条件です。

 

[Name:] (名前:)変更または挿入するスキーマカラムの名前を入力します。

 

[SQL expression:] (SQL式)対応するカラム内のデータを変更する、またはカラム内にデータを挿入するために実行するSQLステートメントを入力します。

 

[Position:] (位置:)参照カラムに対して実行されるアクションに応じて、[Before][Replace] (置換)または[After] (実行後)を選択します。

 

[Reference column] (参照カラム): 新しいカラム、または変更するカラムを探すか、または置換するためにtMysqlOutputが使用できる参照カラムを入力します。

フィールドオプションの使用

リクエストをカスタマイズする場合、特に、データに対して複数のアクションが実行される場合に、このチェックボックスをオンにします。

[Use Hint Options] (Hint句を使用)

クエリーの実行に役立つHint設定エリアを有効にするには、このチェックボックスをオンにします。このエリアのパラメーターは次のとおりです。

- [HINT] (ヒント): 構文/*+ */を使用して、必要とするヒントを指定します。

- [POSITION] (位置): SQLステートメントのどこにヒントを置くかを指定します。

- SQL STMT: 使用する必要のあるSQLステートメントを選択します。

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

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

[Use duplicate key update mode insert] (重複キー更新モードの挿入を使用)

プライマリキーに重複がある場合に、指定したカラムの値を更新します。

[Column] (カラム): 更新するカラムの名前を二重引用符で囲んで入力します。

[Value] (値): カラムに対して実行するアクションをここに入力します。

注:

このオプションを使用するには、まず最初に、[Basic Settings] (基本設定)ビューにある[Action on data] (データへのアクション)リストで、[Insert] (挿入)モードを選択する必要があります。

[tStatCatcher Statistics] (tStatCatcher統計)

このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。

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

このチェックボックスをオンにすると、複数のデータフローを同時に処理することにより、高速データ処理を実行できます。このフィーチャーは、データベースまたは複数の挿入を並行して処理するアプリケーションの機能と、関係するCPUの数に依存していることにご注意ください。[Number of parallel executions] (並列実行の数)フィールドで次のいずれかの操作を行います:
  • 実行する並列実行の数を入力する。
  • [Ctrl] + [Space]を押して、リストから適切なコンテキスト変数を選択する。詳細は、『 Talend Studioユーザーガイド』を参照してください。

並列実行を有効にすると、グローバル変数を使ってサブジョブで戻り値を取得することはできないことにご注意ください。

警告:
  • [Action on table] (テーブルのアクション)フィールドは、並列化ファンクションでは使用できません。したがって、テーブルを作成する場合は、tCreateTableコンポーネントを使用する必要があります。
  • 並列実行が有効になっている場合、グローバル変数を使用してサブジョブの戻り値を取得することはできません。

グローバル変数

[Global Variables] (グローバル変数)

NB_LINE: 入力コンポーネントによって読み取られた行の数、または出力コンポーネントに転送された行の数。これはAfter変数で、整数を返します。

NB_LINE_UPDATED: 更新された行の数。これはAfter変数で、整数を返します。

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

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

NB_LINE_REJECTED: 拒否された行の数。これはAfter変数で、整数を返します。

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

フィールドまたは式に変数を入れるには、Ctrl + Spaceを押して変数リストにアクセスし、リストから使用する変数を選択します。

変数の詳細は、『 Talend Studio ユーザーガイド』を参照してください。

Flow変数はコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。

使用方法

使用ルール

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

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

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

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

[Dynamic settings] (動的設定)テーブルは、[Basic settings] (基本設定)ビューで[Use an existing connection] (既存の接続を使用)チェックボックスが選択されている場合にのみ使用できます。ダイナミックパラメーターを定義すると、[Basic settings] (基本設定)ビューの[Component List] (コンポーネントリスト)ボックスは使用できなくなります。

動的パラメーターの使用サンプルは、コンテキストベースの動的接続によるデータベースからのデータの読み取りおよび動的に読み込まれた接続パラメーターを使用した異なるMySQLデータベースからのデータの読み取りを参照してください。[Dynamic settings] (動的設定)とコンテキスト変数については、『Talend Studioユーザーガイド』を参照してください。