次の方法で共有


Copy アクティビティでデータ ウェアハウスを構成する

この記事では、データ パイプラインでコピー アクティビティを使用して、Data Warehouse 間でデータをコピーする方法について説明します。

サポートされている構成

Copy アクティビティの下の各タブの構成については、それぞれ次のセクションを参照してください。

全般

[全般] タブの構成については、全般に関するページを参照してください。

ソース

Copy アクティビティのソースとして、Data Warehouse では次のプロパティがサポートされています。

[ソース] タブとプロパティのリストを示すスクリーンショット。

次のプロパティは必須です。

  • [データ ストアの種類]: [ワークスペース] を選択します。

  • [ワークスペースのデータ ストアの種類]: データ ストアの種類のリストから [Data Warehouse] を選択します。

  • Data Warehouse: ワークスペースから既存の Data Warehouse を選択します。

  • [クエリを使用する]: [テーブル][クエリ]、または [ストアド プロシージャ] を選択します。

    • [テーブル] を選択した場合は、テーブルの一覧から既存のテーブルを選択するか、[編集] ボックスを選択してテーブル名を手動で指定します。

      テーブルのクエリの使用を示すスクリーンショット。

    • [クエリ] を選択した場合は、カスタム SQL クエリ エディターを使用して、ソース データを取得する SQL クエリを書き込みます。

      クエリの使用を示すスクリーンショット。

    • [ストアド プロシージャ] を選択した場合は、ドロップダウン リストから既存のストアド プロシージャを選択するか、[編集] ボックスを選択してストアド プロシージャ名をソースとして指定します。

      ストアド プロシージャのクエリの使用を示すスクリーンショット。

[詳細設定] では、次のフィールドを指定できます。

  • [クエリ タイムアウト (分)]: クエリ コマンド実行時のタイムアウト時間 (既定値: 120 分) を指定します。 このプロパティが設定されている場合、許可される値は "02:00:00" (120 分) などの期間の形式になります。

  • [分離レベル]: SQL ソースのトランザクション ロック動作を指定します。

  • [パーティション オプション]: Data Warehouse からのデータの読み込みに使用するデータ パーティション分割オプションを指定します。 [なし] または [動的範囲] を選択できます。

    [動的範囲]: 並列を有効にしたクエリを使用する場合は、範囲パーティション パラメーター (?AdfDynamicRangePartitionCondition) が必要です。 サンプル クエリ:SELECT * FROM <TableName> WHERE ?AdfDynamicRangePartitionCondition

    動的範囲を示すスクリーンショット。

    • [パーティション列名]: 並列コピーの範囲パーティション分割で使用される整数型または日付/日時型 (intsmallintbigintdatesmalldatetimedatetimedatetime2 または datetimeoffset) のソース列の名前を指定します。 指定しない場合は、テーブルのインデックスまたは主キーが自動的に検出され、パーティション列として使用されます。
    • [パーティションの上限]: パーティション範囲の分割に使用するパーティション列の最大値。 この値は、テーブル内の行のフィルター処理用ではなく、パーティションのストライドを決定するために使用されます。 テーブルまたはクエリ結果に含まれるすべての行がパーティション分割され、コピーされます。
    • [パーティションの下限]: パーティション範囲の分割に使用するパーティション列の最小値。 この値は、テーブル内の行のフィルター処理用ではなく、パーティションのストライドを決定するために使用されます。 テーブルまたはクエリ結果に含まれるすべての行がパーティション分割され、コピーされます。
  • [追加の列]: ソース ファイルの相対パスまたは静的な値を格納するための追加のデータ列を追加します。 後者では式がサポートされています。

    追加の列を示すスクリーンショット。

宛先

Copy アクティビティのコピー先として、Data Warehouse では次のプロパティがサポートされています。

[コピー先] タブとプロパティのリストを示すスクリーンショット。

次のプロパティは必須です。

  • [データ ストアの種類]: [ワークスペース] を選択します。
  • [ワークスペースのデータ ストアの種類]: データ ストアの種類のリストから [Data Warehouse] を選択します。
  • Data Warehouse: ワークスペースから既存の Data Warehouse を選択します。
  • [テーブル]: テーブルの一覧から既存のテーブルを選択するか、コピー先としてテーブル名を指定します。

[詳細設定] では、次のフィールドを指定できます。

  • コマンド設定のコピー: コピー コマンド プロパティを指定します。

    コピー コマンド設定の規定値を示すスクリーンショット。

  • [テーブル オプション]: ソース スキーマに基づくテーブルが存在しない場合に、コピー先テーブルを自動的に作成するかどうかを指定します。 [なし] または [テーブルの自動作成] を選択できます。

  • [コピー前スクリプト]: 毎回の実行で、データを Data Warehouse に書き込む前に実行する SQL クエリを指定します。 前に読み込まれたデータをクリーンアップするには、このプロパティを使います。

  • [書き込みバッチ タイムアウト]: タイムアウトになるまでに一括挿入操作の完了を待つ時間です。許容される値は期間の形式です。 既定値は「00:30:00」(30 分) です。

  • [パフォーマンス メトリック分析を無効にする]: サービスでは、コピーのパフォーマンスの最適化と推奨事項のために、メトリックが収集されます。 この動作に不安がある場合は、この機能をオフにします。

直接コピー

COPY ステートメントは、ウェアハウス テーブルにデータを取り込む主な方法です。 Data Warehouse の COPY コマンドでは、Azure Blob StorageAzure Data Lake Storage Gen2 がソース データ ストアとして直接サポートされます。 ソース データがこのセクションで説明する条件を満たしている場合は、COPY コマンドを使用してソース データ ストアから Data Warehouse に直接コピーします。

  1. ソース データと形式では、次の種類と認証方法が使用されます。

    サポートされるソース データ ストアの種類 サポートされる形式 サポートされる認証の種類
    Azure Blob Storage 区切りテキスト
    Parquet
    [匿名認証]
    アカウント キー認証
    Shared Access Signature 認証
    Azure Data Lake Storage Gen2 区切りテキスト
    Parquet
    アカウント キー認証
    Shared Access Signature 認証
  2. 次の書式設定を設定できます。

    1. Parquet の場合: [圧縮の種類][なし][Snappy]、または [gzip] になります。
    2. DelimitedText の場合:
      1. 行区切り記号: 直接 COPY コマンドを介して区切りテキストを Data Warehouse にコピーする場合は、行区切り記号を明示的に指定します (\r; \n; または \r\n)。 ソース ファイルの行区切り記号が \r\n である場合にのみ、既定値 (\r、\n、または \r\n) が機能します。 それ以外の場合は、シナリオのステージングを有効にします。
      2. null 値が既定値のままか、空の文字列 ("") に設定されている。
      3. エンコードが既定値のままか、UTF-8 または UTF-16 に設定されている。
      4. スキップ行数 が既定値のままか、0 に設定されている。
      5. 圧縮の種類[なし] または [gzip] である。
  3. ソースがフォルダーの場合は、[再帰的] チェック ボックスをオンにする必要があります。

  4. [最終更新日時でフィルター処理]開始時間 (UTC) および終了時間 (UTC) では、[プレフィックス][パーティション検出を有効にする]、および [追加の列] は指定されません。

COPY コマンドを使用して Data Warehouse にデータを取り込む方法については、こちらの記事を参照してください。

ソース データ ストアと形式が、本来は COPY コマンドでサポートされていない形式の場合は、代わりに COPY コマンドを使用したステージング コピーを使います。 データを COPY コマンド互換形式に自動的に変換し、COPY コマンドを呼び出して、データを Data Warehouse に読み込みます。

ステージング コピー

ソース データが COPY コマンドとネイティブに互換性がない場合は、中間ステージング ストレージを介したデータのコピーを有効にします。 この場合、サービスによって、COPY コマンドのデータ形式要件を満たすようにデータが自動的に変換されます。 次に、COPY コマンドを呼び出して、Data Warehouse にデータを読み込みます。 最後に、ストレージから一時データがクリーンアップされます。

ステージング コピーを使用するには、[設定] タブに移動して、[ステージングを有効にする] を選択します。 [ワークスペース] を選択すると、Fabric 内で自動作成されたステージング ストレージを使用できます。 外部の場合、Azure Blob Storage と Azure Data Lake Storage Gen2 が外部ステージング ストレージとしてサポートされます。 最初に Azure Blob Storage または Azure Data Lake Storage Gen2 接続を作成してから、ステージング ストレージを使用するための接続をドロップダウン リストから選択する必要があります。

ステージング ストレージから Data Warehouse の IP 範囲が正しく許可されていることを確認する必要があることに注意してください。

マッピング

[マッピング] タブの構成で、コピー先として自動作成テーブルでデータ ウェアハウスを適用しない場合は、[マッピング] に移動します。

[マッピング] の構成を除き、コピー先として自動作成テーブルでデータ ウェアハウスを適用する場合は、コピー先列の型を編集できます。 [スキーマのインポート] を選択した後、コピー先で列の種類を指定できます。

たとえば、ソースの ID 列の型は int ですが、コピー先列にマッピングするときには float 型に変更できます。

マッピング先列の種類のスクリーンショット。

設定

[設定] タブの構成については、設定に関するページを参照してください。

表の概要

次の表に、Data Warehouse でのコピー アクティビティの詳細を示します。

ソース情報

名前 Description Value 必須 JSON スクリプト プロパティ
データ ストアの種類 データ ストアの種類。 ワークスペース はい /
ワークスペースのデータ ストアの種類 ワークスペースのデータ ストアの種類を選択するセクション。 データ ウェアハウス はい type
データ ウェアハウス 使用する Data Warehouse。 <Data Warehouse> はい endpoint
artifactId
クエリの使用 Data Warehouse からデータを読み取る方法。 • テーブル
• クエリ
• ストアド プロシージャ
いいえ (typeProperties の下 ->source)
• typeProperties:
 schema
 table
• sqlReaderQuery
• sqlReaderStoredProcedureName
クエリ タイムアウト (分) クエリ コマンド実行時のタイムアウト時間 (既定値: 120 分)。 このプロパティが設定されている場合、許可される値は "02:00:00" (120 分) などの期間の形式になります。 TimeSpan いいえ queryTimeout
分離レベル ソースのトランザクション ロック動作。 • なし
• Snapshot
いいえ isolationLevel
パーティション オプション Data Warehouse からのデータの読み込みに使用されるデータ パーティション分割オプション。 • なし
• 動的範囲
いいえ partitionOption
パーティション列名 並列コピーの範囲パーティション分割で使用される整数型または日付/日時型 (intsmallintbigintdatesmalldatetimedatetimedatetime2、または datetimeoffset) のソース列の名前。 指定しない場合は、テーブルのインデックスまたは主キーが自動的に検出され、パーティション列として使用されます。 <パーティション列名> いいえ partitionColumnName
パーティション上限 パーティション範囲の分割のための、パーティション列の最大値。 この値は、テーブル内の行のフィルター処理用ではなく、パーティションのストライドを決定するために使用されます。 テーブルまたはクエリ結果に含まれるすべての行がパーティション分割され、コピーされます。 <パーティション上限> いいえ partitionUpperBound
パーティション下限 パーティション範囲の分割のための、パーティション列の最小値。 この値は、テーブル内の行のフィルター処理用ではなく、パーティションのストライドを決定するために使用されます。 テーブルまたはクエリ結果に含まれるすべての行がパーティション分割され、コピーされます。 <パーティション下限> いいえ partitionLowerBound
追加の列 ソース ファイルの相対パスまたは静的値を格納するための追加のデータ列を追加します。 • 名前
• 値
いいえ additionalColumns:
•名前
• value

コピー先の情報

名前 Description Value 必須 JSON スクリプト プロパティ
データ ストアの種類 データ ストアの種類。 ワークスペース はい /
ワークスペースのデータ ストアの種類 ワークスペースのデータ ストアの種類を選択するセクション。 データ ウェアハウス はい type
データ ウェアハウス 使用する Data Warehouse。 <Data Warehouse> はい endpoint
artifactId
テーブル データを書き込むコピー先テーブル。 < コピー先テーブルの名前> はい schema
table
COPY コマンド設定 COPY コマンドのプロパティ設定。 既定値の設定が含まれています。 既定値:
• 列
• 値
いいえ copyCommandSettings:
defaultValues:
• columnName
• defaultValue
テーブル オプション ソース スキーマに基づくテーブルが存在しない場合に、コピー先テーブルを自動的に作成するかどうか。 • なし
• テーブルの自動作成
いいえ tableOption:

• autoCreate
コピー前スクリプト 毎回の実行で、データを Data Warehouse に書き込む前に実行する SQL クエリ。 前に読み込まれたデータをクリーンアップするには、このプロパティを使います。 <コピー前スクリプト> いいえ preCopyScript
[書き込みバッチ タイムアウト] タイムアウトになるまでに一括挿入操作の完了を待つ時間です。許容される値は期間の形式です。 既定値は「00:30:00」(30 分) です。 TimeSpan いいえ writeBatchTimeout
パフォーマンス メトリック分析を無効にする サービスでは、コピーのパフォーマンスの最適化と推奨を目的としてメトリックが収集されます。これにより、マスター DB への追加アクセスが発生します。 オンまたはオフ いいえ disableMetricsCollection:
true または false