tAzureSynapseOutput標準プロパティ - 7.3

Azure SQL Data Warehouse

EnrichVersion
Cloud
7.3
EnrichProdName
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
EnrichPlatform
Talend Studio
task
ジョブデザインと開発 > サードパーティーシステム > クラウドストレージ > Azure > Azure SQL Data Warehouseコンポーネント
データガバナンス > サードパーティーシステム > クラウドストレージ > Azure > Azure SQL Data Warehouseコンポーネント
データクオリティとプレパレーション > サードパーティーシステム > クラウドストレージ > Azure > Azure SQL Data Warehouseコンポーネント

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

Standard tAzureSynapseOutputコンポーネントはCloudファミリーとデータベースファミリーのコンポーネントです。

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

基本設定

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

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

  1. 親レベルで、共有するデータベース接続を、そのデータベース接続そのものを作成する接続コンポーネントの[Basic settings] (基本設定)ビューに登録します。

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

警告: このコンポーネントがテーブルに操作を実行するように設定されている場合は、このコンポーネントに対して自動コミット機能を有効にして既存の接続を使うことを強く推奨します。[Advanced settings] (詳細設定)ビューで[Auto Commit] (自動コミット)オプションを選択して、tAzureSynapseConnectionコンポーネントを使い、このタイプの接続を確立できます。

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

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

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

  • [Repository] (リポジトリー): [Repository] (リポジトリー) > [Metadata] (メタデータ)で一元的に保存された接続の詳細が、このコンポーネントによって再使用されます。このチェックボックスのとなりにある [...] ボタンをクリックし、表示された [Repository Content] (リポジトリーの内容)ダイアログボックスで、再使用する接続の詳細を選択すると、関連するすべての接続のプロパティに値が自動的に入力されます。

[JDBC Provider] (JDBCプロバイダー)

使うJDBCドライバーのプロバイダーを選択します。

Host (ホスト)

使うAzure SQL Data WarehouseのIPアドレスまたはホスト名を指定します。

[Port] (ポート)

使うAzure SQL Data Warehouseのリスニングポート番号を指定します。

[Schema] (スキーマ)

Azure SQL Data Warehouseスキーマの名前を入力します。

[Database] (データベース)

使うAzure SQL Data Warehouseの名前を指定します。

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

Azure SQL Data Warehouseにアクセスするためのユーザー認証データを入力します。

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

[Table] (テーブル)

使うテーブルの名前を指定します。

[Action on table] (テーブルの操作)

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

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

  • [Drop and create table] (テーブルの削除と作成): テーブルが削除され、再作成されます。

  • [Create table] (テーブルの作成): テーブルが存在しないため、作成します。

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

  • [Drop table if exist and create] (存在する場合はテーブルを削除して作成): テーブルが既に存在する場合は削除されて、再作成されます。

  • [Clear table] (テーブルのクリア): テーブルの内容が削除されます。操作はロールバックできます。

  • [Truncate] (切り捨て): テーブルの内容が削除されます。

[Turn on identity insert] (ID挿入をオンにする)

(SQL Serverに次の順次値を選択させるのではなく)挿入されたレコードのID値に独自のシーケンスを使うには、このチェックボックスをオンにします。

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

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

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

  • [Single Insert Query] (単一挿入クエリー): バッチ内のテーブルにエントリーを追加します。

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

  • [Insert or update] (挿入または更新): 新しいレコードを挿入します。指定された参照を持つレコードが既に存在する場合は、更新されます。

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

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

  • [Insert if not exist] (存在しない場合は挿入): テーブルに新しいエントリーが存在しない場合は追加します。

[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つのフィールドが表示されます。

  • [Identity field] (IDフィールド): IDフィールドとして定義するカラムをリストから選択します。

  • [Start value] (開始値): テーブルにロードされる最初の行に使う開始値を入力します。

  • [Step] (ステップ): ロードされた前の行の値に追加する増分値を入力します。

このチェックボックスは、[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は無視されます。

スキーマスキーマの編集

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

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

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

スキーマを変更するには[Edit schema] (スキーマの編集)をクリックします。
注: 変更を加えると、スキーマは自動的に組み込みになります。
  • [View schema] (スキーマの表示): スキーマのみを表示する場合は、このオプションを選択します。

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

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

[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認証を参照してください。

注: このオプションは、TalendのR2020-05以降のStudio月次アップデートをインストールした場合のみ利用できます。詳細は管理者にお問い合わせください。

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

ノードのバッチがデータベースにコミットされるまでに完了しているべき行数を入力します。このオプションにより、トランザクションの質(ただしロールバックは含まない)、特に実行時のパフォーマンスの向上が保証されます。

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

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

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

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

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

  • [Reference column] (参照カラム): 新規または変更されたカラムを配置または置換するために使える参照のカラムを入力します。

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

特にデータに二重のアクションがある場合、リクエストをカスタマイズするには、このチェックボックスをオンにします。

[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] (並列実行の数)フィールドで次のいずれかの操作を行います:
  • 実行する並列実行の数を入力する。
  • [Ctrl] + [Space]を押して、リストから適切なコンテキスト変数を選択する。詳細は、『 Talend Studioユーザーガイド』を参照してください。

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

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

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

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データベースからのデータの読み取りを参照してください。[Dynamic settings] (動的設定)とコンテキスト変数については、『Talend Studioユーザーガイド』を参照してください。

制限事項

[Action on data] (データへのアクション)リストで[Single Insert Query] (単一挿入クエリー)オプションが選択されている場合は、SQLの準備されたステートメントが生成されます。例: INSERT INTO table (col1, col2, col3) VALUES (?,?,?) , (?,?,?) , (?,?,?) ,(?,?,?)。括弧内は数が2000を超えることができないパラメーターのグループです。これは一般に、JBDCドライバーによって左右されます。したがって、バッチサイズはこの制限を守って設定する必要があります。

他のデータベースでサポートされている機能でも、Azure SQL Data Warehouseではサポートされていないものもあります。詳細については、サポートされていないテーブル機能を参照してください。

また、このコンポーネントでテーブルを作成または削除する時は、tAzureSynapseCommitコンポーネントを使うのでなく、tAzureSynapseConnectionコンポーネントによって作成されたデータベース接続を再利用し、tAzureSynapseConnectionコンポーネントの[Advanced settings] (詳細設定)ビューで[Auto Commit] (自動コミット)チェックボックスをオンにして、自動コミット機能を使うことをお勧めします。