この記事では、パイプラインでコピー アクティビティを使用して、Azure Data Lake Storage Gen2 との間でデータをコピーする方法について説明します。
サポートされている形式
Azure Data Lake Storage Gen2 では、次のファイル形式がサポートされています。 形式ベースの設定については、各記事を参照してください。
サポートされている構成
コピー アクティビティの下の各タブの構成については、それぞれ次のセクションを参照してください。
全般
[全般設定] タブを構成するには、全般設定のガイダンスを参照してください。
情報源
コピー アクティビティの [ ソース ] タブの Azure Data Lake Storage Gen2 では、次のプロパティがサポートされています。
次のプロパティは必須です。
接続: 接続の一覧から Azure Data Lake Storage Gen2 接続を選択します。 接続が存在しない場合は、[新規] を選択して新しい Azure Data Lake Storage Gen2 接続を作成します。
接続の種類: Azure Data Lake Storage Gen2 を選択します。
ファイル パスの種類: ファイル パス、 ワイルドカード ファイル パス、または ファイルの一覧 をファイル パスの種類として選択できます。 これらの各設定の構成は次のとおりです。
ファイル パス: この種類を選択すると、指定したファイル システムまたは以前に指定したフォルダー/ファイル パスからデータをコピーできます。
ワイルドカード ファイル パス: この種類を選択した場合は、ファイル システムパスとワイルドカード パスを指定します。
ファイル システム: Azure Data Lake Storage Gen2 ファイル システム名。
ワイルドカード パス: ソース フォルダーまたはファイルをフィルター処理するために、指定したファイル システムの下にワイルドカード文字を含むフォルダーまたはファイル パスを指定します。
使用できるワイルドカードは、
*(0 個以上の文字に一致) と?(0 文字または 1 文字に一致) です。 フォルダー名にワイルドカードまたはこのエスケープ文字がある場合は、^を使用してエスケープします。 その他の例については、「 フォルダーとファイル フィルターの例」を参照してください。
ワイルドカード フォルダー パス: ソース フォルダーをフィルター処理するために、指定したファイル システムの下にワイルドカード文字を含むフォルダー パスを指定します。
ワイルドカード ファイル名: 指定したファイル システムの下にワイルドカード文字を使用してファイル名を指定します。また、ソース ファイルをフィルター処理するには、フォルダー パス (またはワイルドカード フォルダー パス) を指定します。
ファイルの一覧: 特定のファイル セットをコピーすることを示します。 コピーするファイルのリストを含むテキスト ファイルを指すファイル リストへのフォルダー パスとパスを指定します。1 行に 1 つのファイル (パスへの相対パス) が含まれます。 その他の例については、「 ファイルリストの例」を参照してください。
フォルダー パス: 指定したファイル システムの下にあるフォルダーへのパスを指定します。 必須です。
ファイル一覧へのパス: コピーするファイルの一覧を含むテキスト ファイルのパスを指定します。
再帰的: データをサブフォルダーから再帰的に読み取るか、指定したフォルダーからのみ読み取るかを指定します。 再帰的に選択され、コピー先がファイル ベースのストアである場合、空のフォルダーまたはサブフォルダーはコピーされず、コピー先に作成されません。 このプロパティは既定で選択されており、 ファイル一覧へのパスを構成する場合は適用されません。
ファイル形式: ドロップダウン リストから適用されるファイル形式を選択します。 [ 設定] を 選択してファイル形式を構成します。 さまざまなファイル形式の設定については、 サポートされている形式 の記事を参照してください。
[詳細設定] では、次のフィールドを指定できます。
[最終更新日時にフィルター処理]: ファイルは、最後に変更された日付に基づいてフィルター処理されます。 ファイル パスの種類をファイルのリストとして構成する場合、このプロパティは適用されません。
開始時刻 (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 つの列が月と日に生成されます。 - パーティション ルート パスが指定されていない場合、追加の列は生成されません。
最大同時接続数: このプロパティは、アクティビティの実行中にデータ ストアに対して確立された同時接続の上限を示します。 コンカレント接続数を制限する場合にのみ、値を指定します。
その他の列: ソース ファイルの相対パスまたは静的な値を格納する追加のデータ列を追加します。 エクスプレッションは後者に対応しています。
行き先
コピー アクティビティの [宛先 ] タブの Azure Data Lake Storage Gen2 では、次のプロパティがサポートされています。
次のプロパティは必須です。
- 接続: 接続の一覧から Azure Data Lake Storage Gen2 接続を選択します。 接続が存在しない場合は、[新規] を選択して新しい Azure Data Lake Storage Gen2 接続を作成します。
- 接続の種類: Azure Data Lake Storage Gen2 を選択します。
- [ファイル パス]: [参照 ] を選択して、パスを手動でコピーまたは入力するファイルを選択します。
- ファイル形式: ドロップダウン リストから適用されるファイル形式を選択します。 [ 設定] を 選択してファイル形式を構成します。 さまざまなファイル形式の設定については、 サポートされている形式 の記事を参照してください。
[詳細設定] では、次のフィールドを指定できます。
コピー動作: ソースがファイル ベースのデータ ストアのファイルである場合のコピー動作を定義します。 ドロップダウン リストから動作を選択できます。
- フラット化階層: ソース フォルダーのすべてのファイルは、コピー先フォルダーの最初のレベルにあります。 コピー先ファイルには自動生成された名前があります。
- ファイルのマージ: ソース フォルダーのすべてのファイルを 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 がデータを格納するのに十分な大きさであることを確認します。そうしないと、コピー アクティビティの実行は失敗します。
メタデータ: コピー先にコピーするときにカスタム メタデータを設定します。
metadata配列の各オブジェクトは追加列を表します。nameではメタデータ キー名を定義し、valueでは、そのキーのデータ値を指定します。 属性の 保持機能 を使用すると、指定したメタデータがソース ファイルのメタデータと和集合または上書きされます。使用できるデータ値:
-
$$LASTMODIFIED: 予約変数は、ソース ファイルの最終変更時刻を格納することを示します。 バイナリ形式のみを使用してファイル ベースのソースに適用します。 - 式
- 静的な値
-
地図作成
[ マッピング ] タブの構成については、[ マッピング] タブの [マッピングの構成] に移動します。ファイル形式として [バイナリ] を選択した場合、マッピングはサポートされません。
設定
[設定] タブの構成については、[設定] タブの [その他の設定の構成] に移動します。
表の概要
次の表に、Azure Data Lake Storage Gen2 のコピー アクティビティの詳細を示します。
ソース情報
| 名前 | Description | 価値 | 必須 | 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 |
| 再帰的に | データをサブフォルダーから再帰的に読み取るか、指定したフォルダーからのみ読み取るかを指定します。 再帰的に選択され、コピー先がファイル ベースのストアである場合、空のフォルダーまたはサブフォルダーはコピーされず、コピー先に作成されません。 ファイル 一覧へのパスを構成する場合、このプロパティは適用されません。 | selected (default) または選択解除 | いいえ | recursive |
| 最終変更によるフィルター処理 | [開始時刻,終了時刻] の範囲内の最終変更時刻を含むファイルは、さらに処理するためにフィルター処理されます。 時刻は、 yyyy-mm-ddThh:mm:ss.fffZの形式で UTC タイム ゾーンに適用されます。 これらのプロパティはスキップできます。つまり、ファイル属性フィルターは適用されません。 ファイル パスの種類をファイルのリストとして構成する場合、このプロパティは適用されません。 |
datetime | いいえ | modifiedDatetimeStart modifiedDatetimeEnd |
| パーティション検出を有効にする | ファイル パスからパーティションを解析し、追加のソース列として追加するかどうかを示します。 | selected または unselected (default) | いいえ | enablePartitionDiscovery: true または false (既定値) |
| パーティション ルート パス | パーティション検出が有効になっている場合は、パーティション分割されたフォルダーをデータ列として読み取るための絶対ルート パスを指定します。 | < パーティションのルート パス > | いいえ | partitionRootPath |
| 最大同時接続数 | アクティビティの実行中にデータ ストアに対して確立されるコンカレント接続数の上限。 コンカレント接続数を制限する場合にのみ、値を指定します。 | <最大同時接続数> | いいえ | maxConcurrentConnections |
| 追加の列 | ソース ファイルの相対パスまたは静的値を格納するデータ列を追加します。 エクスプレッションは後者に対応しています。 | •名前 • 価値 |
いいえ | 追加列: •名前 •価値 |
宛先情報
| 名前 | Description | 価値 | 必須 | JSON スクリプト プロパティ |
|---|---|---|---|---|
| 接続 | コピー先データ ストアへの接続。 | <Azure Data Lake Storage Gen2 接続> | イエス | 接続 |
| 接続の種類 | 実際の接続の種類。 Azure Data Lake Storage Gen2 を選択します。 | Azure Data Lake Storage Gen2 | イエス | / |
| ファイル パス | 保存先データのファイルパス。 | < ファイル パス > | イエス | フォルダーパス、ファイル名、ファイルシステム |
| コピーの動作 | ソースがファイル ベースのデータ ストアのファイルの場合は、コピー動作を定義します。 | • 階層をフラット化する • ファイルのマージ • 階層を保持する |
いいえ | コピー動作: • 階層を平坦化する • MergeFiles 階層を保持する |
| 最大同時接続数 | アクティビティの実行中にデータ ストアに対して確立されるコンカレント接続数の上限。 コンカレント接続数を制限する場合にのみ、値を指定します。 | <最大同時接続数> | いいえ | maxConcurrentConnections |
| ブロック サイズ (MB) | Azure Data Lake Storage Gen2 にデータを書き込むときにブロック サイズを MB 単位で指定します。 使用できる値は 4 MB ~ 100 MB です。 | <ブロック サイズ> | いいえ | blockSizeInMB |
| メタデータ | コピー先にコピーするときにカスタム メタデータを設定します。 | • $$LASTMODIFIED•表現 • 静的な値 |
いいえ | メタデータ |