tAzureSynapseOutputの標準プロパティ
これらのプロパティは、標準ジョブのフレームワークで実行されているtAzureSynapseOutputを設定するために使われます。
標準のtAzureSynapseOutputコンポーネントは、Cloudファミリーとデータベースファミリーに属しています。
このフレームワーク内のコンポーネントは、すべてのTalend製品で使用できます。
基本設定
[Use an existing connection] (既存の接続を使用) |
定義済みの接続の詳細を再利用する場合は、このチェックボックスを選択して、[Component List] (コンポーネントリスト)ドロップダウンリストから、目的の接続コンポーネントを選択します。
情報メモ警告: このコンポーネントがテーブルに操作を実行するように設定されている場合は、このコンポーネントに対して自動コミットファンクションを有効にして既存の接続を使用ことを強く推奨します。[Advanced settings] (詳細設定)ビューで[Auto Commit] (自動コミット)オプションを選択して、tAzureSynapseConnectionコンポーネントを使い、このタイプの接続を確立できます。
|
[Property Type] (プロパティタイプ) |
接続の詳細を設定する方法を選択します。
|
[JDBC Provider] (JDBCプロバイダー) |
使うJDBCドライバーのプロバイダーを選択します。 |
[Host] (ホスト) | 使うデータベースサーバーかAzure Synapse AnalyticsのIPアドレスまたはホスト名を指定します。 サーバーが存在するマシンでSQL Server Browserサービスが実行中である場合は、このフィールドにホスト名とインスタンス名を{host_name}\{instance_name}という形式で指定すれば、TCPダイナミックポートを通じてネームドインスタンスに接続できるようになります。この場合は[Port] (ポート)フィールドを空白のまましておきます。関連情報は、SQL Server Browser serviceをご覧ください。 |
[Port] (ポート) | 使うデータベースサーバーかAzure Synapse Analyticsのリスニングポート番号を入力します。 サーバーが存在するマシンでSQL Server Browserサービスが実行中である場合は、[Host] (ホスト)フィールドにホスト名とインスタンス名を入力し、このフィールドを空にしておけば、TCPダイナミックポートを通じてネームドインスタンスに接続できるようになります。関連情報は、SQL Server Browser serviceをご覧ください。 |
[Schema] (スキーマ) | Azure Synapse Analyticsスキーマの名前を入力します。 |
[Database] (データベース) | 使うAzure Synapse Analyticsの名前を指定します。 |
[Username] (ユーザー名)と[Password] (パスワード) | 認証データを入力します。 パスワードを入力するためには、[Password] (パスワード)フィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。 [Additional JDBC Parameters] (追加のJDBCパラメーター)フィールドにintegratedSecurity=trueを追加し、これら2つのフィールドを空にしておけば、Windowsで[Type 2 integrated authentication] (タイプ2のインテグレーション認証)を使用できるようになります。関連情報は、Building the connection URLでConnecting with integrated authentication On Windowsというセクションをご覧ください。 |
[Table] (テーブル) | 使うテーブルの名前を指定します。 |
[Action on table] (テーブルでのアクション) |
定義されたテーブルに対して実行する操作を選択します。
|
[Turn on identity insert] (ID挿入をオンにする) | (SQL Serverに次の順次値を選択させるのではなく)挿入されたレコードのID値に独自のシーケンスを使う場合は、このチェックボックスを選択します。 |
[Action on data] (データでのアクション) |
定義されたテーブルのデータに対して実行する操作を選択します。
[Update] (アップデート)操作と[Delete] (削除)操作のベースとなるプライマリキーとして、カラムを少なくとも1つ指定する必要があります。この場合、[Edit Schema] (スキーマを編集)をクリックし、プライマリキーとして設定するカラムの横にあるチェックボックスをオンにします。高度な設定を行う場合は、[Advanced settings] (詳細設定)ビューをクリックして、[Update] (アップデート)操作と[Delete] (削除)操作のプライマリキーを同時に定義できます。この場合、[Use field options] (フィールドオプションを使用)チェックボックスをオンにし、[Key in update column] (アップデートのキーカラム)で、[Update] (アップデート)操作のベースとして使用するカラム名の横にあるチェックボックスをオンにします。[Delete] (削除)操作の[Key in delete column] (削除カラムのキー)でも同じようにします。 ダイナミックスキーマ機能は[Insert] (挿入)、[Update] (アップデート)、[Insert or update] (挿入またはアップデート)、[Update or insert] (アップデートまたは挿入)、および[Delete] (削除)のモードで使用できます。 |
[Specify identity field] (IDフィールドの指定) |
IDフィールドを指定するには、このチェックボックスをオンにします。IDフィールドは自動的に増分するID番号で構成されています。 このチェックボックスをオンにすると、他の3つのフィールドが表示されます。
このチェックボックスは、[Action on table] (テーブルでのアクション)リストで[Drop and create table] (ドロップしてテーブルを作成)、[Create table] (テーブルを作成)、[Create table if not exists] (テーブルが存在しない場合は作成)、[Drop table if exists and create] (テーブルが存在する場合はドロップして作成)のいずれかを選択している場合のみ利用できます。[Advanced settings] (詳細設定)ビューで[Enable parallel execution] (並列実行を有効化)チェックボックスをオンにしている場合は表示されません。[Turn on identity insert] (ID挿入をオンにする)チェックボックスがオフの状態で[Action on table] (テーブルでのアクション)リストから[Create table if not exists] (テーブルが存在しない場合は作成)オプションを選択し、このチェックボックスをオンにすると、指定したテーブルが存在しない場合、データが挿入されていないテーブルのみが作成されます。 コンポーネントのスキーマからIDフィールドを指定することもできます。それには、関連するカラムの[DB Type] (DBタイプ)をINT IDENTITYに設定します。 [Specify identity field] (IDフィールドの指定)チェックボックスがオンの場合、スキーマ内のDBタイプINT IDENTITYは無視されます。 |
[Schema] (スキーマ)と[Edit schema] (スキーマを編集) |
スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。
スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。変更を加えると、スキーマは自動的に組み込みになります。
|
[Specify a data source alias] (データソースエイリアスを指定) |
このチェックボックスを選択して、[Data source alias] (データソースエイリアス)フィールドが表示されたら、データソース設定で定義した共有接続プールを使用するために、 Talend Runtime側で作成したデータソースのエイリアスを指定します。このオプションは、 Talend Runtime内にジョブをデプロイして実行する時にのみ機能します。 このチェックボックスは、[Use an existing Connection] (既存の接続を使用)チェックボックスがオンになっている場合は利用できません。 |
[Die on error] (エラー発生時に強制終了) |
このチェックボックスを選択すると、エラー発生時にジョブの実行が停止されます。 エラーの発生した行をスキップし、エラーが発生していない行の処理を完了するには、このチェックボックスをオフにします。 |
詳細設定
[Additional JDBC Parameters] (追加のJDBCパラメーター) |
作成するデータベース接続に接続の追加プロパティを指定します。プロパティはセミコロンで区切られ、各プロパティはキー-値ペアです。たとえばAzure SQLデータベース接続の場合は、encrypt=true;trustServerCertificate=false; hostNameInCertificate=*.database.windows.net;loginTimeout=30;となります。 |
[Authenticate using Azure Active Directory] (Azure Active Directoryを使って認証) |
このオプションを選択すると、接続を確立する時にAzure Active Directory認証を使用できます。関連情報は、Azure AD Authenticationをご覧ください。 |
[Commit every] (コミットする間隔) | ノードのバッチがデータベースにコミットされるまでに完了しているべき行数を入力します。このオプションにより、トランザクションの品質(ロールバックは対象外)が保証され、実行時のパフォーマンスが向上します。 |
[Additional Columns] (追加のカラム) |
このオプションは、データベーステーブルを作成する場合(ドロップありまたはドロップなし)には提供されません。このオプションにより、SQLファンクションを呼び出してカラムにアクションを実行できます。ただし、挿入、アップデート、削除のアクションでないこと、特定の事前処理を必要とするアクションでないことが条件です。
|
[Use field options] (フィールドオプションを使用) |
特にデータに二重のアクションがある場合、リクエストをカスタマイズするには、このチェックボックスをオンにします。 |
[Ignore date out of range] (範囲外の日付を無視) |
日付検証を無視して、DATE、DATETIME、DATETIME2、DATETIMEOFFSETのデータ型に対してデータをデータベースに直接挿入するには、このチェックボックスをオンにします。 |
[Debug query mode] (デバッグクエリーモード) |
このチェックボックスを選択すると、データベースのエントリーの処理中に各ステップが表示されます。 |
[Support null in "SQL WHERE" statement] ("SQL WHERE"ステートメントでnullをサポート) |
データベーステーブルに含まれているNull値を処理する場合は、このチェックボックスをオンにします。 スキーマ内の対応するカラムで[Nullable] (nullを許可)チェックボックスがオンになっていることをご確認ください。 |
[Use Batch] (バッチを使用) |
このチェックボックスを選択して、データ処理のバッチモードを有効にします。 このチェックボックスは、[Action on data] (データでのアクション)リストで[Insert] (挿入)、[Update] (アップデート)、[Single Insert Query] (単一挿入クエリー)、または[Delete] (削除)オプションを選択している場合にのみ使えます。 [Action on data] (データでのアクション)リストで[Single Insert Query] (単一挿入クエリー)オプションを選択する場合は、バッチサイズをカラム数で除した数値がJDBCドライバーによって許可されているパラメーターマーカーの上限(一般に2000)を超えないようにご注意ください。詳細は、下記の[Limitation] (制限事項)に記されている関連する説明をご覧ください。 |
[Batch Size] (バッチサイズ) |
各バッチで処理するレコードの数を指定します。 このフィールドは、[Use batch mode] (バッチモードを使用)チェックボックスがオンの場合のみ表示されます。 |
[tStatCatcher Statistics] (tStatCatcher統計) |
このチェックボックスを選択すると、ジョブレベルおよび各コンポーネントレベルでジョブ処理メタデータが収集されます。 |
[Enable parallel execution] (並列実行を有効化) |
このチェックボックスを選択すると、複数のデータフローを同時に処理することにより、高速データ処理を実行できます。このフィーチャーは、データベースまたは複数の挿入を並行して処理するアプリケーションの機能と、関係するCPUの数に依存していることにご注意ください。[Number of parallel executions] (並列実行の数)フィールドで次のいずれかの操作を行います。
並列実行を有効にすると、グローバル変数を使ってサブジョブで戻り値を取得することはできないことにご注意ください。 情報メモ警告:
|
グローバル変数
ERROR_MESSAGE |
エラー発生時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。 |
NB_LINE |
処理された行数。これはAfter変数で、整数を返します。 |
NB_LINE_UPDATED |
アップデートされた行数。これはAfter変数で、整数を返します。 |
NB_LINE_INSERTED |
挿入された行数。これはAfter変数で、整数を返します。 |
NB_LINE_DELETED |
削除された行の数。これはAfter変数で、整数を返します。 |
NB_LINE_REJECTED |
リジェクトされた行数。これはAfter変数で、整数を返します。 |
使用方法
使用ルール |
このコンポーネントは、通常、ジョブまたはサブジョブの終了コンポーネントとして使い、常に入力リンクが必要です。 |
[Dynamic settings] (ダイナミック設定) |
[+]ボタンをクリックしてテーブルに行を追加し、[Code] (コード)フィールドにコンテキスト変数を入力して、ジョブ内で計画した複数の接続からデータベース接続をダイナミックに選択します。この機能は、データストラクチャーが同じでデータベースが異なるデータベーステーブルにアクセスする必要がある場合、特に、Talend Studioを介さずにジョブをデプロイおよび実行する必要がある時など、ジョブの設定を変更できない環境で作業している場合に役立ちます。 [Dynamic settings] (ダイナミック設定)テーブルは、[Basic settings] (基本設定)ビューで[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている場合のみ利用できます。ダイナミックパラメーターを定義すると、[Basic settings] (基本設定)ビューの[Component List] (コンポーネントリスト)ボックスは利用できなくなります。 ダイナミックパラメーターの定義法を示すユースケースについては、コンテキストベースのダイナミック接続によってデータベースからデータを読み取りと、ダイナミックにロードされた接続パラメーターを使って異なるMySQLデータベースからデータを読み取りをご覧ください。ダイナミック設定とコンテキスト変数の詳細は、ダイナミックスキーマとコンテキストグループを作成し、その中でコンテキスト変数を定義をご覧ください。 |
制限事項 |
[Action on data] (データでのアクション)リストで[Single Insert Query] (単一挿入クエリー)オプションが選択されている場合は、SQLの準備されたステートメントが生成されます。例: INSERT INTO table (col1, col2, col3) VALUES (?,?,?) , (?,?,?) , (?,?,?) ,(?,?,?)。括弧内は数が2000を超えることができないパラメーターのグループです。これは一般に、JBDCドライバーによって左右されます。したがって、バッチサイズはこの制限を守って設定する必要があります。 他のデータベースでサポートされている機能でも、Azure Synapse Analyticsではサポートされていないものもあります。詳細については、サポートされていないテーブル機能をご覧ください。 また、このコンポーネントでテーブルを作成または削除する時は、tAzureSynapseCommitコンポーネントを使うのでなく、tAzureSynapseConnectionコンポーネントによって作成されたデータベース接続を再利用し、tAzureSynapseConnectionコンポーネントの[Advanced settings] (詳細設定)ビューで[Auto Commit] (自動コミット)チェックボックスをオンにして、自動コミットファンクションを使うことをお勧めします。 |