Microsoft Azure Synapse SQLコネクタ > Microsoft Azure Synapse SQLのマッピング > マッピングでのMicrosoft Azure Synapse SQLソース
  

マッピングでのMicrosoft Azure Synapse SQLソース

マッピングでは、単一のMicrosoft Azure Synapse SQLオブジェクト。Microsoft Azure Synapse SQLからデータを読み取るときに、キー範囲パーティション化を設定して、実行時のマッピングパフォーマンスを最適化できます。
以下の表に、ソーストランスフォーメーションで設定できるMicrosoft Azure Synapse SQLのプロパティを示します。
プロパティ
説明
接続
ソース接続の名前。
既存の接続の選択、新しい接続の作成、またはソース接続プロパティのパラメータ値の定義ができます。
実行時にパラメータを上書きする場合は、パラメータの作成時に[実行時にパラメータのオーバーライドを許可する]オプションを選択します。タスクを実行すると、エージェントはタスク詳細セッションプロパティで指定されたファイルからパラメータを使用します。
パラメータ化されていないMicrosoft Azure Synapse SQL接続とパラメータ化されたMicrosoft Azure Synapse SQL接続を切り替えることができます。接続を切り替えても、詳細プロパティ値は保持されます。
ソースタイプ
ソースオブジェクトのタイプ。
[単一オブジェクト]、[複数のオブジェクト]、[クエリ]、または[パラメータ]を選択します。
ソースタイプとしてカスタムSQLクエリを指定すると、Secure Agentは次の順序でプロパティを評価してマッピングを実行します。
  1. 1SQLオーバーライド
  2. 2テーブル名のオーバーライド
  3. 3カスタムSQL
マッピングで実行時にソースクエリオブジェクトをパラメータ化することはできません。
詳細モードのマッピングでは、カスタムSQLをマッピングのパラメータとして指定することはできません。
オブジェクト
タスクのソースオブジェクト。
マッピングでは、外部テーブルをMicrosoft Azure Synapse SQLソースとして使用できます。
パラメータ
ソースオブジェクトの既存のパラメータを選択するか、[新しいパラメータ]をクリックしてソースオブジェクトの新しいパラメータを定義します。[パラメータ]プロパティは、ソースタイプとして[パラメータ]を選択した場合にのみ表示されます。
実行時にパラメータを上書きする場合は、パラメータの作成時に[実行時にパラメータのオーバーライドを許可する]オプションを選択します。タスクを実行すると、エージェントはタスク詳細セッションプロパティで指定されたファイルからパラメータを使用します。パラメータファイルが正しい形式であることを確認します。
フィルタ
フィルタ条件に基づいてレコードをフィルタリングします。
簡易フィルタまたは詳細フィルタを指定できます。
ソート
該当なし。
以下の表に、ソーストランスフォーメーションで設定できるMicrosoft Azure Synapse SQLのソース詳細プロパティを示します。
プロパティ
説明
Azure Blobコンテナ名
接続プロパティでAzure Blobストレージを選択した場合は必須です。
Microsoft Azure Blob Storageのコンテナの名前。
コンテナ名に特殊文字を含めないでください。
ADLSファイルシステム名
接続プロパティでADLS Gen2ストレージを選択した場合は必須です。
Microsoft Azure Data Lake Storage Gen2のファイルシステムの名前。
ファイルシステム名に特殊文字を含めないでください。
ファイルシステムの下のディレクトリのパスを指定することもできます。ディレクトリパスの指定には、スラッシュのみを使用します。
スキーマ名のオーバーライド
接続で指定されたスキーマをオーバーライドします。
テーブル名のオーバーライド
インポートされたMicrosoft Azure Synapse SQLソーステーブルのテーブル名をオーバーライドします。
ステージングファイル形式
Azureストレージにファイルをステージングする場合に使用するファイル形式のタイプ。
次のいずれかの形式を選択します。
  • - 区切りテキスト
  • - Parquet
フィールド区切り文字
ファイル内のフィールドを区切るために使用する文字。デフォルト値は0x1eです。「TAB」または0-256の単一文字の印刷可能文字と、印刷できないASCII文字を指定できます。印刷できない文字は、16進数で指定する必要があります。
注: 複数文字のASCII文字は、TABを除いて適用できません。次の印刷できない文字は使用できません。
00x00x00x0A0x1B0x0D、および0x1F
Blob Storeへの同時接続数1
Microsoft Azure Blob Storageからデータを抽出するための同時接続数。サイズの大きいBlobを読み取る場合は、データを処理するために複数のスレッドを生成できます。[BLOBパートサイズ]を設定して、サイズの大きいBlobを小さいパートにパーティション化します。
デフォルト値は4です。最大値は10です。
Blobパートサイズ1
指定したサイズの小さいパートにBlobをパーティション化します。サイズの大きいBlobを読み取る場合は、Blobを小さいパートにパーティション化し、同時接続を設定して、データを並列処理するために必要なスレッド数を生成することを検討します。
デフォルトは8 MBです。
Pre-SQL
ソースからデータを読み取る前に実行する必要があるPre-SQLコマンド。
Post-SQL
ソースからデータを読み取った後に実行する必要があるPost-SQLコマンド。
SQLオーバーライド
Microsoft Azure Synapse SQLオブジェクトからデータを読み取る場合は、SQLオーバーライドを設定し、制約を定義できます。
実行前/実行後SQLのエラー
pre-SQLコマンドまたはpost-SQLコマンドを含むタスクでエラーが発生した場合の動作を決定します。
次のいずれかのオプションを選択します。
  • - 続行。エラーに関係なくタスクが続行されます。
  • - 停止。pre-SQLコマンドまたはpost-SQLコマンドの実行中にエラーが発生すると、タスクは停止します。
文字列の引用符
Microsoft Azure Synapse SQLからデータを読み取るときにスキップする引用符を指定します。
指定する引用符は、ソーステーブルに存在しないことが必要です。これが存在する場合は、別の引用符の値を入力します。
デフォルト値は0x1fです。
中間ディレクトリ1
オプション。Secure Agentマシンのステージングディレクトリへのパス。
Microsoft Azure Synapse SQLからデータを読み取るときに、ファイルをステージングするステージングディレクトリを指定します。ディレクトリに十分なスペースがあり、ディレクトリからの読み取り権限があることを確認します。
デフォルトのステージングディレクトリは/tmpです。
Hosted Agentを使用する場合、Interimディレクトリを指定することはできません。
トレースレベル1
ログファイルに表示される詳細情報の量を設定します。[簡易]、[通常]、[詳細 - 初期化]、[詳細 - データ]から選択できます。デフォルトは[通常]です。
1詳細モードのマッピングには適用されません。

複数のソースオブジェクトの追加

複数のソースオブジェクトをマッピングに追加するには、次の手順を実行します。
    1[新規] > [マッピング]をクリックします。
    2[マッピング]を選択して、[作成]をクリックします。
    3[ソースのプロパティ]ページの[全般]タブで、名前を指定し、説明を入力します。
    この画像は、[全般]タブに設定するプロパティを示しています。
    4[ソース]タブをクリックします。
    5タスクに使用するソース接続とソースタイプに[複数のオブジェクト]を選択します。
    この画像は、タスクのソース接続とソースタイプを示しています。
    6[オブジェクトおよびリレーション]セクションで、矢印をクリックして[アクション]メニューを開き、[ソースオブジェクトの追加]を選択します。
    この画像は、ソースオブジェクトを追加する[アクション]メニューを示しています。
    7リストからソースオブジェクトを選択して[OK]をクリックします。
    この画像は、使用可能なソースオブジェクトのリストを示しています。
    8[オブジェクトおよびリレーション]セクションで、ソースオブジェクトの横にある矢印をクリックし、[詳細リレーション]をクリックして関連オブジェクトを追加します。
    この画像は、関連オブジェクトを追加する[詳細リレーション]オプションを示しています。
    9[詳細リレーション]ページで、[オブジェクトの追加]をクリックします。
    この画像は、[オブジェクトの追加]オプションが表示された[詳細リレーション]ページを示しています。
    10[ソースオブジェクトの選択]ページで、リストからオブジェクトを選択し、[OK]をクリックします。
    この画像は、使用可能なオブジェクトのリストを示しています
    11[詳細リレーション]ページで、オブジェクトの必須フィールドを選択し、すべてのオブジェクトのリレーションを定義する結合条件を作成します。
    この画像は、オブジェクトの結合条件を示しています。
    注: 結合できるのは2つのソーステーブルのみです。リレーションを定義する際には内部結合を作成する必要があります。完全な結合クエリではなく、結合条件のみを定義する必要があります。テーブル名またはカラム名が予約済みのキーワードであるか、テーブル名に特殊文字が含まれている場合は、名前を角括弧で囲みます。例: [AUTHORIZATION].[BROWSE]=[int].[BROWSE]
    12[OK]をクリックします。

キー範囲パーティション化

マッピングタスクを使用してMicrosoft Azure Synapse SQLソースからデータを読み取る場合、キー範囲パーティション化を設定できます。キー範囲パーティション化により、Secure Agentはパーティションキーとして定義したフィールドに基づいてソースデータ行を分散します。Secure Agentは、フィールド値を各パーティションの範囲値と比較して、適切なパーティションに行を送信します。
データ値が均等に分散されているカラムには、キー範囲パーティション化を使用します。そうしないと、パーティションのサイズが等しくなくなる可能性があります。例えば、あるカラムのキー値1から1000の間には10行あり、キー値1001から2000の間には999行があるというようになります。マッピングに複数のソースが含まれる場合は、ソースごとに同じ数のキー範囲を使用します。
カラムのキー範囲パーティション化を定義すると、Secure Agentはその指定されたパーティション範囲内にある行を読み取ります。例えば、カラムの2つのパーティションを範囲10から20と30から40に対して設定した場合、行20から30は指定したパーティション範囲内にないため、Secure Agentはこれらの行を読み取りません。
以下のデータ型のフィールドのパーティションキーを設定できます。
詳細モードのマッピングを作成する場合、およびマッピングに次のいずれかのトランスフォーメーションが含まれる場合、キー範囲パーティションを使用することはできません。
注: 複数のパーティションを使用する場合、最初のパーティションの開始範囲と最後のパーティションの終了範囲はPolyBaseコマンドのWHERE句に含まれません。
カスタムクエリとSQLオーバーライドは、キー範囲でパーティション化する場合には適用されません。

キー範囲パーティション化の設定

Microsoft Azure Synapse SQLソースのキー範囲パーティション化を設定するには、以下の手順を実行します。
    1[ソースのプロパティ]で、[パーティション]タブをクリックします。
    2リストから必要なパーティションキーを選択します。
    3[新しいキー範囲の追加]をクリックし、Secure Agentがデータをパーティション化する必要があるときの基準となるパーティションの数とキー範囲を定義します。
    最小値を示すには、開始範囲に空白値を使用します。最大値を示すには、終了範囲に空白値を使用します。
    以下の図に、[パーティション]タブを示します。
    この図は、パーティションと、対応するキー範囲を示しています。