Copy アクティビティで Azure Data Lake Storage Gen2 を構成する

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

サポートされている形式

Azure Data Lake Storage Gen2 では、次のファイル形式がサポートされています。 形式ベースの設定については、各記事を参照してください。

サポートされている構成

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

全般

[全般設定] タブを構成するには、全般設定のガイダンスを参照してください。

ソース

コピー アクティビティの [ソース] タブの Azure Data Lake Storage Gen2 では、次のプロパティがサポートされています。

Screenshot showing source tab.

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

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

  • [接続]: 接続リストから Azure Data Lake Storage Gen2 接続を選択します。 接続が存在しない場合は、[新規] を選択して新しい Azure Data Lake Storage Gen2 接続を作成します。

  • [接続の種類]: Azure Data Lake Storage Gen2 を選択します。

  • [ファイル パスの種類]: ファイル パスの種類として、[ファイル パス][ワイルドカード ファイル パス]、または [ファイルの一覧] を選択できます。 これらの各設定の構成は次のとおりです。

    • [ファイル パス]: この種類を選択した場合、以前指定された特定のファイル システムまたはフォルダー/ファイル パスからデータをコピーできます。

    • [ワイルドカード ファイル パス]: この種類を選択した場合、ファイル システムおよび ワイルドカード パスを指定します。

      • [ファイル システム]: Azure Data Lake Storage Gen2 の ファイル システム名。

      • [ワイルドカード パス]: ソース フォルダーまたはファイルをフィルター処理するための、指定したファイル システムの下にあるワイルドカード文字を含むフォルダーまたはファイル パスを指定します。

        使用できるワイルドカードは、* (ゼロ文字以上の文字に一致) と ? (ゼロ文字または 1 文字に一致) です。 フォルダー名にワイルドカードまたはこのエスケープ文字が含まれている場合は、^ を使用してエスケープします。 他の例については、「フォルダーとファイル フィルターの例」をご覧ください。

        Screenshot showing wildcard file path.

        • [ワイルドカード フォルダー パス]: ソース フォルダーをフィルター処理するための、指定したファイル システムの下にあるワイルドカード文字を含むフォルダー パスを指定します。

        • [ワイルドカード ファイル名]: ソース ファイルをフィルター処理するための、指定したファイルシステムおよびフォルダー パス (またはワイルドカード フォルダー パス) の下にあるワイルドカード文字を含むファイル名を指定します。

    • [ファイルの一覧]: 指定されたファイル セットをコピーすることを示します。 [フォルダー パス][ファイルリストへのパス] を指定し、コピーするファイルの一覧を含むテキスト ファイルを指定します。1 行に 1 つのファイル(パスへの相対パス) が含まれます。 その他の例については、「ファイル リストの例」をご覧ください。

      Screenshot showing path to file list.

      • [フォルダー パス]: 指定したファイル システムの下にあるフォルダーへのパスを指定します。 この引数は必須です。

      • [ファイル リストへのパス]: コピーするファイルの一覧を含むテキスト ファイルのパスを指定します。

  • [再帰的]: データをサブフォルダーから再帰的に読み取るか、指定したフォルダーからのみ読み取るかを指定します。 [再帰的] が選択され、宛先がファイルベースのストアである場合、空のフォルダーおよびサブフォルダーは宛先にコピーされず、作成されません。 このプロパティは既定で選択されており、 [ファイル リストへのパス]を構成した場合は適用されません。

  • [ファイル形式]: ドロップダウン リストから適用されるファイル形式を選択します。 [設定] を 選択してファイル形式を構成します。 さまざまなファイル形式の設定については、「サポートされている形式」を参照してください。

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

  • [最終更新日でフィルター処理]: 最後に変更された日付に基づいてファイルがフィルター処理されます。 ファイル パスの種類を [ファイルの一覧] として構成する場合、このプロパティは適用されません。

    • 開始時刻 (UTC): 最終変更時刻が構成された時刻以降のファイルが選択されます。

    • 終了時刻 (UTC): 最終変更時刻が構成された時刻未満のファイルが選択されます。

    [開始時刻 (UTC)] に datetime 値を設定し、[終了時刻 (UTC)] を NULL にした場合は、最終更新属性が datetime 値以上であるファイルが選択されることを意味します。 [終了時刻 (UTC)] に datetime 値を設定し、[開始時刻 (UTC)] を NULL にした場合は、最終更新属性が datetime 値未満であるファイルが選択されることを意味します。 プロパティは、ファイル属性フィルターがデータに適用されないことを意味する NULL にすることができます。

  • パーティション検出を有効にする: ファイル パスのパーティションを解析し、それを追加のソース列として追加するかどうかを指定します。 既定では選択されず、バイナリ ファイル形式を使用する場合はサポートされません。

    • [パーティションのルート パス]: パーティション検出が有効になっている場合は、パーティション分割されたフォルダーをデータ列として読み取るための絶対ルート パスを指定します。

      これが指定されていない場合は、既定で次のようになります。

      • ソースでファイル パスまたはファイルの一覧を使用する場合、パーティションのルート パスは、構成したパスです。
      • ワイルドカード フォルダー フィルターを使用する場合、パーティションのルート パスは最初のワイルドカードの前のサブパスです。

      たとえば、パスを root/folder/year=2020/month=08/day=27 として構成するとします。

      • パーティションのルート パスを root/folder/year=2020 として指定した場合は、コピー アクティビティによって、ファイル内の列に加え、値がそれぞれ "08" と "27" の月と日という 2 つの列がさらに生成されます。
      • パーティションのルート パスが指定されていない場合、追加の列は生成されません。

    Screenshot showing partition discovery.

  • [最大コンカレント接続数]: このプロパティは、アクティビティの実行中にデータ ストアに対して確立されるコンカレント接続数の上限を示します。 コンカレント接続を制限する場合にのみ、値を指定します。

  • [追加の列]: ソース ファイルの相対パスまたは静的値を格納するための追加のデータ列を追加します。 後者では式がサポートされています。

宛先

コピー アクティビティの [コピー先] タブの Azure Data Lake Storage Gen2 では、次のプロパティがサポートされています。

Screenshot showing destination tab.

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

  • [データ ストアの種類]: [外部] を選択します。
  • [接続]: 接続リストから Azure Data Lake Storage Gen2 接続を選択します。 接続が存在しない場合は、[新規] を選択して新しい Azure Data Lake Storage Gen2 接続を作成します。
  • [接続の種類]: Azure Data Lake Storage Gen2 を選択します。
  • [ファイル パス]: [参照] を選択して、コピーするファイルを選択するか、パスを手動で入力します。
  • ファイル形式: ドロップダウン リストから適用されるファイル形式を選択します。 [設定] を 選択してファイル形式を構成します。 さまざまなファイル形式の設定については、「サポートされている形式」を参照してください。

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

  • [コピー動作]: ソースがファイル ベースのデータ ストアのファイルの場合は、コピー動作を定義します。 ドロップダウン リストからビヘイビアーを選択できます。

    Screenshot showing copy behavior.

    • [階層のフラット化]: ソース フォルダーのすべてのファイルがコピー先フォルダーの第一レベルに配置されます。 コピー先のファイルは、自動生成された名前になります。
    • [ファイルのマージ]: ソース フォルダーのすべてのファイルを 1 つのファイルにマージします。 ファイル名を指定した場合、マージされたファイル名は指定した名前になります。 それ以外は自動生成されたファイル名になります。
    • [階層の保持]: ターゲット フォルダー内でファイル階層を保持します。 ソース フォルダーに対するソース ファイルの相対パスと、ターゲット フォルダーに対するターゲット ファイルの相対パスが一致します。
  • [最大コンカレント接続数]: アクティビティの実行中にデータ ストアに対して確立されるコンカレント接続数の上限。 コンカレント接続を制限する場合にのみ、値を指定します。

  • [ブロック サイズ (MB)]: Azure Data Lake Storage Gen2 にデータを書き込むために使用するブロック サイズを MB (メガバイト)で指定します。 詳細については、「ブロック BLOB について」を参照してください。 指定できる値は、4 MB から 100 MB です。

    既定では、ソース ストアの種類とデータに基づいて、ブロック サイズが自動的に決定されます。 Azure Data Lake Storage Gen2 への非バイナリ コピーの場合、最大約 4.75 TB のデータに収まるよう、既定のブロック サイズは 100 MB になります。 データが大きくない場合、最適でない可能性があります。 ブロック サイズは明示的に指定できますが、ブロック サイズ (MB) *50000 がデータを確実に格納するのに十分な大きさであるようにしてください。そうでない場合、Copy アクティビティの実行は失敗します。

  • [メタデータ]: コピー先にコピーするときのカスタム メタデータを設定します。 metadata 配列の各オブジェクトは追加列を表します。 name ではメタデータ キー名を定義し、value では、そのキーのデータ値を指定します。 属性の保持機能が使用されている場合は、ソース ファイルのメタデータを使用して、指定されたメタデータの和集合の作成や上書きが行われます。

    使用できるデータ値:

    • $$LASTMODIFIED: 予約済みの変数によって、ソース ファイルの最終更新時刻を格納することを指定します。 バイナリ形式のファイルベースのソースにのみ適用されます。
    • Expression
    • 静的な値

    Screenshot showing metadata.

マッピング

[マッピング] タブの構成については、「[マッピング] タブでマッピングを構成する」を参照してください。ファイル形式として [バイナリ] を選択した場合、マッピングはサポートされません。

設定

[設定] タブの構成については、「[設定] タブで他の設定を構成する」を参照してください。

テーブルの概要

次の表に、Azure Data Lake Storage Gen2 のコピー アクティビティの詳細を示します。

ソース情報

名前 Description Value 必須 JSON スクリプト プロパティ
データ ストアの種類 データ ストアの種類。 外部品目番号 はい /
接続 ソース データ ストアへの実際の接続。 <実際の Azure Data Lake Storage Gen2 接続> はい つながり
接続の種類 実際の接続の種類。 Azure Data Lake Storage Gen2 を選択します。 Azure Data Lake Storage Gen2 はい /
ファイル パスの種類 使用するファイル パスの種類。 • ファイル パス
• ワイルドカード フォルダー パス、ワイルドカード ファイル名
• ファイルの一覧
はい • folderPath、fileName、fileSystem
• wildcardFolderPath、wildcardFileName、fileSystem
• folderPath、fileName、fileListPath
Recursively データをサブフォルダーから再帰的に読み取るか、指定したフォルダーからのみ読み取るかを指定します。 [再帰的] が選択され、宛先がファイルベースのストアである場合、空のフォルダーおよびサブフォルダーは宛先にコピーされず、作成されません。 [ファイル リストへのパス] を構成する場合、このプロパティは適用されません。 選択済み (デフォルト) または選択解除 いいえ recursive
最終更新日時でフィルター処理 最終変更時刻が [開始時刻] から [終了時刻] の範囲内にあるファイルは、さらに処理するためにフィルター処理されます。 時刻は、yyyy-mm-ddThh:mm:ss.fffZ の形式で UTC タイム ゾーンに適用されます。 これらのプロパティはスキップできます。つまり、ファイル属性フィルターは適用されません。 ファイル パスの種類を [ファイルの一覧] として構成する場合、このプロパティは適用されません。 datetime いいえ modifiedDatetimeStart
modifiedDatetimeEnd
パーティション検出を有効にする ファイル パスのパーティションを解析し、それを追加のソース列として追加するかどうかを示します。 選択または非選択 (既定値) いいえ enablePartitionDiscovery:
true または false (既定値)
パーティションのルート パス パーティション検出が有効になっている場合は、パーティション分割されたフォルダーをデータ列として読み取るための絶対ルート パスを指定します。 <実際のパーティションのルート パス> いいえ partitionRootPath
[最大コンカレント接続数] アクティビティの実行中にデータ ストアに対して確立されたコンカレント接続数の上限。 コンカレント接続を制限する場合にのみ、値を指定します。 <最大コンカレント接続数> いいえ maxConcurrentConnections
追加の列 ソース ファイルの相対パスまたは静的値を格納するための追加のデータ列を追加します。 後者では式がサポートされています。 • 名前
• 値
いいえ additionalColumns:
• name
• value

コピー先の情報

名前 Description Value 必須 JSON スクリプト プロパティ
データ ストアの種類 データ ストアの種類。 外部品目番号 はい /
接続 コピー先データ ストアへの接続。 <実際の Azure Data Lake Storage Gen2 接続> はい つながり
接続の種類 実際の接続の種類。 Azure Data Lake Storage Gen2 を選択します。 Azure Data Lake Storage Gen2 はい /
ファイル パス コピー先データのファイル パス。 <ファイル パス> はい folderPath、fileName、fileSystem
コピー動作 ソースがファイル ベースのデータ ストアのファイルの場合は、コピー動作を定義します。 • 階層のフラット化
• ファイルのマージ
• 階層の保持
いいえ copyBehavior:
• FlattenHierarchy
• MergeFiles
• PreserveHierarchy
最大コンカレント接続数 アクティビティの実行中にデータ ストアに対して確立されたコンカレント接続数の上限。 コンカレント接続を制限する場合にのみ、値を指定します。 <最大コンカレント接続数> いいえ maxConcurrentConnections
ブロック サイズ (MB) Azure Data Lake Storage Gen2 にデータを書き込むときのブロック サイズを MB 単位で指定します。 指定できる値は、4 MB から 100 MB です。 <ブロック サイズ> いいえ blockSizeInMB
Metadata コピー先にコピーするときにカスタム メタデータを設定します。 $$LASTMODIFIED
• 式
• 静的な値
いいえ metadata