Sdílet prostřednictvím


Kopírování dat do nebo z Azure Data Lake Storage Gen1 pomocí Azure Data Factory nebo Azure Synapse Analytics

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

Tento článek popisuje, jak kopírovat data do a z Azure Data Lake Storage Gen1. Další informace najdete v úvodním článku pro Azure Data Factory nebo Azure Synapse Analytics.

Poznámka:

29. února 2024 byla vyřazena služba Azure Data Lake Storage Gen1. Migrujte prosím na konektor Azure Data Lake Storage Gen2. Pokyny k migraci Azure Data Lake Storage Gen1 najdete v tomto článku .

Podporované funkce

Tento konektor Azure Data Lake Storage Gen1 je podporovaný pro následující funkce:

Podporované funkce IR
aktivita Copy (zdroj/jímka) (1) (2)
Mapování toku dat (zdroj/jímka) (1)
Aktivita Lookup (1) (2)
Aktivita GetMetadata (1) (2)
Aktivita odstranění (1) (2)

(1) Prostředí Azure Integration Runtime (2) Místní prostředí Integration Runtime

Konkrétně s tímto konektorem můžete:

Důležité

Pokud kopírujete data pomocí místního prostředí Integration Runtime, nakonfigurujte podnikovou bránu firewall tak, aby umožňovala odchozí provoz do <ADLS account name>.azuredatalakestore.net a login.microsoftonline.com/<tenant>/oauth2/token na portu 443. Druhým je služba tokenů zabezpečení Azure, se kterou musí prostředí Integration Runtime komunikovat, aby získal přístupový token.

Začínáme

Tip

Postup použití konektoru Azure Data Lake Store najdete v tématu Načtení dat do Azure Data Lake Store.

K provedení aktivita Copy s kanálem můžete použít jeden z následujících nástrojů nebo sad SDK:

Vytvoření propojené služby s Azure Data Lake Storage Gen1 pomocí uživatelského rozhraní

Pomocí následujících kroků vytvořte propojenou službu s Azure Data Lake Storage Gen1 v uživatelském rozhraní webu Azure Portal.

  1. Přejděte na kartu Správa v pracovním prostoru Azure Data Factory nebo Synapse a vyberte Propojené služby a pak vyberte Nový:

  2. Vyhledejte Azure Data Lake Storage Gen1 a vyberte konektor Azure Data Lake Storage Gen1.

    Snímek obrazovky s konektorem Azure Data Lake Storage Gen1

  3. Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.

    Snímek obrazovky s konfigurací propojené služby pro Azure Data Lake Storage Gen1

Podrobnosti konfigurace konektoru

Následující části obsahují informace o vlastnostech, které slouží k definování entit specifických pro Azure Data Lake Store Gen1.

Vlastnosti propojené služby

Propojená služba Azure Data Lake Store podporuje následující vlastnosti:

Vlastnost Popis Povinní účastníci
type Vlastnost type musí být nastavena na AzureDataLakeStore. Ano
dataLakeStoreUri Informace o účtu Azure Data Lake Store Tyto informace mají jeden z následujících formátů: https://[accountname].azuredatalakestore.net/webhdfs/v1 nebo adl://[accountname].azuredatalakestore.net/. Ano
subscriptionId ID předplatného Azure, do kterého patří účet Data Lake Store. Požadováno pro jímku
resourceGroupName Název skupiny prostředků Azure, do které patří účet Data Lake Store. Požadováno pro jímku
connectVia Prostředí Integration Runtime , které se má použít pro připojení k úložišti dat. Pokud se vaše úložiště dat nachází v privátní síti, můžete použít prostředí Azure Integration Runtime nebo místní prostředí Integration Runtime. Pokud tato vlastnost není zadaná, použije se výchozí prostředí Azure Integration Runtime. No

Použití ověřování instančního objektu

Pokud chcete použít ověřování instančního objektu, postupujte takto.

  1. Zaregistrujte entitu aplikace v Microsoft Entra ID a udělte jí přístup k Data Lake Store. Podrobný postup najdete v tématu Ověřování mezi službami. Poznamenejte si následující hodnoty, které slouží k definování propojené služby:

    • ID aplikace
    • Klíč aplikace
    • ID tenanta
  2. Udělte instančnímu objektu správné oprávnění. Podívejte se na příklady fungování oprávnění ve službě Data Lake Storage Gen1 z řízení přístupu v Azure Data Lake Storage Gen1.

    • Jako zdroj: V Accessu v Průzkumníku>dat udělte alespoň oprávnění Spustit pro všechny nadřazené složky, včetně kořenového adresáře, spolu s oprávněním ke čtení pro kopírování souborů. Můžete se rozhodnout přidat do této složky a všechny podřízené položky pro rekurzivní a přidat jako přístupová oprávnění a výchozí položku oprávnění. Řízení přístupu na úrovni účtu (IAM) nevyžaduje.
    • Jako jímka: V Accessu Průzkumníka>dat udělte alespoň oprávnění Spustit pro všechny nadřazené složky, včetně kořenového adresáře, spolu s oprávněním k zápisu pro složku jímky. Můžete se rozhodnout přidat do této složky a všechny podřízené položky pro rekurzivní a přidat jako přístupová oprávnění a výchozí položku oprávnění.

Podporují se následující vlastnosti:

Vlastnost Popis Povinní účastníci
servicePrincipalId Zadejte ID klienta aplikace. Ano
servicePrincipalKey Zadejte klíč aplikace. Označte toto pole jako SecureString bezpečné uložení nebo odkazujte na tajný kód uložený ve službě Azure Key Vault. Ano
klient Zadejte informace o tenantovi, například název domény nebo ID tenanta, pod kterým se vaše aplikace nachází. Můžete ho načíst tak, že narazíte myší v pravém horním rohu webu Azure Portal. Ano
azureCloudType Pro ověřování instančního objektu zadejte typ cloudového prostředí Azure, ke kterému je zaregistrovaná vaše aplikace Microsoft Entra.
Povolené hodnoty jsou AzurePublic, AzureChina, AzureUsGovernment a AzureGermany. Ve výchozím nastavení se používá cloudové prostředí služby.
No

Příklad:

{
    "name": "AzureDataLakeStoreLinkedService",
    "properties": {
        "type": "AzureDataLakeStore",
        "typeProperties": {
            "dataLakeStoreUri": "https://<accountname>.azuredatalakestore.net/webhdfs/v1",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
            "subscriptionId": "<subscription of ADLS>",
            "resourceGroupName": "<resource group of ADLS>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Použití ověřování spravované identity přiřazené systémem

Datovou továrnu nebo pracovní prostor Synapse je možné přidružit ke spravované identitě přiřazené systémem, která představuje službu pro ověřování. Tuto spravovanou identitu přiřazenou systémem můžete použít přímo pro ověřování Data Lake Store, podobně jako u vlastního instančního objektu. Umožňuje tomuto určenému prostředku přístup k datům a jejich kopírování do nebo z Data Lake Store.

Pokud chcete použít ověřování spravované identity přiřazené systémem, postupujte takto.

  1. Načtěte informace o spravované identitě přiřazené systémem zkopírováním hodnoty "ID aplikace identity služby" vygenerovaného společně s vaším pracovním prostorem továrny nebo Synapse.

  2. Udělte spravované identitě přiřazené systémem přístup ke službě Data Lake Store. Podívejte se na příklady fungování oprávnění ve službě Data Lake Storage Gen1 z řízení přístupu v Azure Data Lake Storage Gen1.

    • Jako zdroj: V Accessu v Průzkumníku>dat udělte alespoň oprávnění Spustit pro všechny nadřazené složky, včetně kořenového adresáře, spolu s oprávněním ke čtení pro kopírování souborů. Můžete se rozhodnout přidat do této složky a všechny podřízené položky pro rekurzivní a přidat jako přístupová oprávnění a výchozí položku oprávnění. Řízení přístupu na úrovni účtu (IAM) nevyžaduje.
    • Jako jímka: V Accessu Průzkumníka>dat udělte alespoň oprávnění Spustit pro všechny nadřazené složky, včetně kořenového adresáře, spolu s oprávněním k zápisu pro složku jímky. Můžete se rozhodnout přidat do této složky a všechny podřízené položky pro rekurzivní a přidat jako přístupová oprávnění a výchozí položku oprávnění.

V propojené službě nemusíte zadávat žádné jiné vlastnosti než obecné informace data Lake Store.

Příklad:

{
    "name": "AzureDataLakeStoreLinkedService",
    "properties": {
        "type": "AzureDataLakeStore",
        "typeProperties": {
            "dataLakeStoreUri": "https://<accountname>.azuredatalakestore.net/webhdfs/v1",
            "subscriptionId": "<subscription of ADLS>",
            "resourceGroupName": "<resource group of ADLS>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Použití ověřování spravované identity přiřazené uživatelem

Datovou továrnu je možné přiřadit pomocí jedné nebo několika spravovaných identit přiřazených uživatelem. Tuto spravovanou identitu přiřazenou uživatelem můžete použít pro ověřování úložiště objektů blob, která umožňuje přístup k datům a jejich kopírování z nebo do Služby Data Lake Store. Další informace o spravovaných identitách pro prostředky Azure najdete v tématu Spravované identity pro prostředky Azure.

Pokud chcete použít ověřování spravované identity přiřazené uživatelem, postupujte takto:

  1. Vytvořte jednu nebo více spravovaných identit přiřazených uživatelem a udělte přístup k Azure Data Lake. Podívejte se na příklady fungování oprávnění ve službě Data Lake Storage Gen1 z řízení přístupu v Azure Data Lake Storage Gen1.

    • Jako zdroj: V Accessu v Průzkumníku>dat udělte alespoň oprávnění Spustit pro všechny nadřazené složky, včetně kořenového adresáře, spolu s oprávněním ke čtení pro kopírování souborů. Můžete se rozhodnout přidat do této složky a všechny podřízené položky pro rekurzivní a přidat jako přístupová oprávnění a výchozí položku oprávnění. Řízení přístupu na úrovni účtu (IAM) nevyžaduje.
    • Jako jímka: V Accessu Průzkumníka>dat udělte alespoň oprávnění Spustit pro všechny nadřazené složky, včetně kořenového adresáře, spolu s oprávněním k zápisu pro složku jímky. Můžete se rozhodnout přidat do této složky a všechny podřízené položky pro rekurzivní a přidat jako přístupová oprávnění a výchozí položku oprávnění.
  2. Přiřaďte k datové továrně jednu nebo více spravovaných identit přiřazených uživatelem a vytvořte přihlašovací údaje pro každou spravovanou identitu přiřazenou uživatelem.

Podporuje se následující vlastnost:

Vlastnost Popis Povinní účastníci
přihlašovací údaje Jako objekt přihlašovacích údajů zadejte spravovanou identitu přiřazenou uživatelem. Ano

Příklad:

{
    "name": "AzureDataLakeStoreLinkedService",
    "properties": {
        "type": "AzureDataLakeStore",
        "typeProperties": {
            "dataLakeStoreUri": "https://<accountname>.azuredatalakestore.net/webhdfs/v1",
            "subscriptionId": "<subscription of ADLS>",
            "resourceGroupName": "<resource group of ADLS>",
            "credential": {
                "referenceName": "credential1",
                "type": "CredentialReference"
            },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Vlastnosti datové sady

Úplný seznam oddílů a vlastností dostupných pro definování datových sad najdete v článku Datové sady .

Azure Data Factory podporuje následující formáty souborů. Informace o nastaveních založených na formátu najdete v jednotlivých článcích.

Azure Data Lake Store Gen1 location v nastavení v datové sadě založené na formátu podporují následující vlastnosti:

Vlastnost Popis Povinní účastníci
type Vlastnost location typu v datové sadě musí být nastavena na AzureDataLakeStoreLocation. Ano
folderPath Cesta ke složce. Pokud chcete k filtrování složek použít zástupný znak, přeskočte toto nastavení a zadejte ho v nastavení zdroje aktivity. No
fileName Název souboru v dané cestě folderPath. Pokud chcete k filtrování souborů použít zástupný znak, přeskočte toto nastavení a zadejte ho v nastavení zdroje aktivity. No

Příklad:

{
    "name": "DelimitedTextDataset",
    "properties": {
        "type": "DelimitedText",
        "linkedServiceName": {
            "referenceName": "<ADLS Gen1 linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, auto retrieved during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureDataLakeStoreLocation",
                "folderPath": "root/folder/subfolder"
            },
            "columnDelimiter": ",",
            "quoteChar": "\"",
            "firstRowAsHeader": true,
            "compressionCodec": "gzip"
        }
    }
}

Vlastnosti aktivity kopírování

Úplný seznam oddílů a vlastností dostupných pro definování aktivit najdete v tématu Kanály. Tato část obsahuje seznam vlastností podporovaných zdrojem a jímkou Azure Data Lake Store.

Azure Data Lake Store jako zdroj

Azure Data Factory podporuje následující formáty souborů. Informace o nastaveních založených na formátu najdete v jednotlivých článcích.

Azure Data Lake Store Gen1 storeSettings v nastavení ve zdroji kopírování založeném na formátu podporují následující vlastnosti:

Vlastnost Popis Povinní účastníci
type Vlastnost typu v části storeSettings musí být nastavena na AzureDataLakeStoreReadSettings. Ano
Vyhledejte soubory, které chcete zkopírovat:
MOŽNOST 1: Statická cesta
Zkopírujte z dané složky nebo cesty k souboru zadané v datové sadě. Pokud chcete zkopírovat všechny soubory ze složky, dále zadejte wildcardFileName jako *.
MOŽNOST 2: Rozsah názvů
- listAfter
Načtěte složky nebo soubory, jejichž název je za touto hodnotou abecedně (výhradní). Využívá filtr na straně služby pro ADLS Gen1, který poskytuje lepší výkon než filtr zástupných znaků.
Služba použije tento filtr na cestu definovanou v datové sadě a podporuje se pouze jedna úroveň entity. Další příklady najdete v příkladech filtru rozsahu názvů.
No
MOŽNOST 2: Rozsah názvů
- listBefore
Načtěte složky nebo soubory, jejichž název je před touto hodnotou abecedně (včetně). Využívá filtr na straně služby pro ADLS Gen1, který poskytuje lepší výkon než filtr zástupných znaků.
Služba použije tento filtr na cestu definovanou v datové sadě a podporuje se pouze jedna úroveň entity. Další příklady najdete v příkladech filtru rozsahu názvů.
No
MOŽNOST 3: Zástupný znak
– zástupný znakFolderPath
Cesta ke složce se zástupnými znaky pro filtrování zdrojových složek.
Povolené zástupné znaky jsou: * (odpovídá nule nebo více znaků) a ? (odpovídá nule nebo jednomu znaku), použijte ^ k řídicímu znaku, pokud má skutečný název složky zástupný znak nebo tento řídicí znak uvnitř.
Další příklady najdete v příkladech filtru složek a souborů.
No
MOŽNOST 3: Zástupný znak
- wildcardFileName
Název souboru se zástupnými znaky v dané složcePath/wildcardFolderPath pro filtrování zdrojových souborů.
Povolené zástupné znaky jsou: * (odpovídá nule nebo více znaků) a ? (odpovídá nule nebo jednomu znaku), použijte ^ k řídicímu znaku, pokud má váš skutečný název souboru zástupný znak nebo tento řídicí znak uvnitř. Další příklady najdete v příkladech filtru složek a souborů.
Ano
MOŽNOST 4: seznam souborů
- fileListPath
Označuje, že chcete zkopírovat danou sadu souborů. Přejděte na textový soubor, který obsahuje seznam souborů, které chcete kopírovat, jeden soubor na řádek, což je relativní cesta k cestě nakonfigurované v datové sadě.
Při použití této možnosti nezadávejte v datové sadě název souboru. Další příklady najdete v příkladech seznamu souborů.
No
Další nastavení:
rekurzivní Určuje, zda se data čtou rekurzivně z podsložek nebo pouze ze zadané složky. Pokud je rekurzivní nastavena na hodnotu true a jímka je úložiště založené na souborech, prázdná složka nebo podsložka se v jímce nezkopíruje ani nevytvoří.
Povolené hodnoty jsou true (výchozí) a false.
Tato vlastnost se nepoužije při konfiguraci fileListPath.
No
deleteFilesAfterCompletion Určuje, zda se binární soubory odstraní ze zdrojového úložiště po úspěšném přesunutí do cílového úložiště. Odstranění souboru je na každém souboru, takže když aktivita kopírování selže, uvidíte, že se některé soubory už zkopírovaly do cíle a odstranily ze zdroje, zatímco ostatní zůstávají ve zdrojovém úložišti.
Tato vlastnost je platná pouze ve scénáři kopírování binárních souborů. Výchozí hodnota: false.
No
modifiedDatetimeStart Filtr souborů na základě atributu: Naposledy změněno.
Soubory jsou vybrány, pokud je jejich čas poslední změny větší nebo roven modifiedDatetimeStart a menší než modifiedDatetimeEnd. Čas se použije u časového pásma UTC ve formátu "2018-12-01T05:00:00Z".
Vlastnosti můžou mít hodnotu NULL, což znamená, že u datové sady není použit žádný filtr atributů souboru. Pokud modifiedDatetimeStart má hodnotu datetime, ale modifiedDatetimeEnd má hodnotu NULL, znamená to, že jsou vybrané soubory, jejichž atribut poslední změny je větší nebo roven hodnotě datetime. Pokud modifiedDatetimeEnd má hodnotu datetime, ale modifiedDatetimeStart má hodnotu NULL, znamená to, že soubory, jejichž atribut poslední změny je menší než hodnota datetime, je vybrána.
Tato vlastnost se nepoužije při konfiguraci fileListPath.
No
modifiedDatetimeEnd Platí to samé jako výše. No
enablePartitionDiscovery U souborů, které jsou rozdělené na oddíly, určete, zda chcete analyzovat oddíly z cesty k souboru a přidat je jako další zdrojové sloupce.
Povolené hodnoty jsou false (výchozí) a true.
No
partitionRootPath Pokud je povolené zjišťování oddílů, zadejte absolutní kořenovou cestu, abyste mohli číst dělené složky jako datové sloupce.

Pokud ho nezadáte, ve výchozím nastavení
– Při použití cesty k souboru v datové sadě nebo seznamu souborů ve zdroji je kořenová cesta oddílu cesta nakonfigurovaná v datové sadě.
– Pokud používáte filtr složky se zástupnými otazemi, je kořenová cesta oddílu dílčí cestou před prvním zástupným znakem.

Předpokládejme například, že cestu v datové sadě nakonfigurujete jako "root/folder/year=2020/month=08/day=27":
– Pokud zadáte kořenovou cestu oddílu jako "root/folder/year=2020", aktivita kopírování generuje dva další sloupce month a day s hodnotou 08 a 27 kromě sloupců uvnitř souborů.
– Pokud není zadaná kořenová cesta oddílu, nevygeneruje se žádný další sloupec.
No
maxConcurrentConnections Horní limit souběžných připojení vytvořených k úložišti dat během spuštění aktivity. Zadejte hodnotu pouze v případech, kdy chcete omezit souběžná připojení. No

Příklad:

"activities":[
    {
        "name": "CopyFromADLSGen1",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Delimited text input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "DelimitedTextSource",
                "formatSettings":{
                    "type": "DelimitedTextReadSettings",
                    "skipLineCount": 10
                },
                "storeSettings":{
                    "type": "AzureDataLakeStoreReadSettings",
                    "recursive": true,
                    "wildcardFolderPath": "myfolder*A",
                    "wildcardFileName": "*.csv"
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Azure Data Lake Store jako jímka

Azure Data Factory podporuje následující formáty souborů. Informace o nastaveních založených na formátu najdete v jednotlivých článcích.

Azure Data Lake Store Gen1 storeSettings v nastavení v jímce kopírování založeném na formátu podporují následující vlastnosti:

Vlastnost Popis Povinní účastníci
type Vlastnost typu v části storeSettings musí být nastavena na AzureDataLakeStoreWriteSettings. Ano
copyBehavior Definuje chování kopírování, pokud je zdrojem soubory ze souborového úložiště dat.

Povolené hodnoty jsou následující:
- PreserveHierarchy (výchozí):: Zachová hierarchii souborů v cílové složce. Relativní cesta zdrojového souboru ke zdrojové složce je shodná s relativní cestou cílového souboru s cílovou složkou.
- FlattenHierarchy: Všechny soubory ze zdrojové složky jsou na první úrovni cílové složky. Cílové soubory mají automaticky vygenerované názvy.
- MergeFiles: Sloučí všechny soubory ze zdrojové složky do jednoho souboru. Pokud je zadaný název souboru, je zadaným názvem sloučený soubor. V opačném případě se jedná o automaticky vygenerovaný název souboru.
No
expiryDateTime Určuje dobu vypršení platnosti zapsaných souborů. Čas se použije na čas UTC ve formátu "2020-03-01T08:00:00Z". Ve výchozím nastavení má hodnotu NULL, což znamená, že zapsané soubory nikdy nevypršely. No
maxConcurrentConnections Horní limit souběžných připojení vytvořených k úložišti dat během spuštění aktivity. Zadejte hodnotu pouze v případech, kdy chcete omezit souběžná připojení. No

Příklad:

"activities":[
    {
        "name": "CopyToADLSGen1",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Parquet output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "ParquetSink",
                "storeSettings":{
                    "type": "AzureDataLakeStoreWriteSettings",
                    "copyBehavior": "PreserveHierarchy"
                }
            }
        }
    }
]

Příklady filtru rozsahu názvů

Tato část popisuje výsledné chování filtrů rozsahu názvů.

Ukázková zdrojová struktura Konfigurace Výsledek
kořen
    d
        file.csv
    sekyra
        file2.csv
    ax.csv
    b
        file3.csv
    bx.csv
    c
        file4.csv
    cx.csv
V datové sadě:
- Cesta ke složce: root

Ve zdroji aktivity kopírování:
- Seznam za: a
- Seznam před: b
Pak se zkopírují následující soubory:

kořen
    sekyra
        file2.csv
    ax.csv
    b
        file3.csv

Příklady filtrů složek a souborů

Tato část popisuje výsledné chování cesty ke složce a názvu souboru pomocí filtrů zástupných znaků.

folderPath fileName rekurzivní Struktura zdrojové složky a výsledek filtru (soubory se načítají tučně )
Folder* (Prázdné, použít výchozí) false (nepravda) FolderA
    File1.csv
    File2.json
    Podsložka 1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* (Prázdné, použít výchozí) true FolderA
    File1.csv
    File2.json
    Podsložka 1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* *.csv false (nepravda) FolderA
    File1.csv
    File2.json
    Podsložka 1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* *.csv true FolderA
    File1.csv
    File2.json
    Podsložka 1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv

Příklady seznamu souborů

Tato část popisuje výsledné chování použití cesty k seznamu souborů ve zdroji aktivity kopírování.

Za předpokladu, že máte následující strukturu zdrojové složky a chcete zkopírovat soubory tučně:

Ukázková zdrojová struktura Obsah v FileListToCopy.txt Konfigurace
kořen
    FolderA
        File1.csv
        File2.json
        Podsložka 1
            File3.csv
            File4.json
            File5.csv
    Metadata
        FileListToCopy.txt
File1.csv
Podsložka1/File3.csv
Podsložka1/File5.csv
V datové sadě:
- Cesta ke složce: root/FolderA

Ve zdroji aktivity kopírování:
- Cesta k seznamu souborů: root/Metadata/FileListToCopy.txt

Cesta k seznamu souborů odkazuje na textový soubor ve stejném úložišti dat, který obsahuje seznam souborů, které chcete kopírovat, jeden soubor na řádek s relativní cestou k cestě nakonfigurované v datové sadě.

Příklady chování operace kopírování

Tato část popisuje výsledné chování operace kopírování pro různé kombinace recursive a copyBehavior hodnoty.

rekurzivní copyBehavior Struktura zdrojových složek Výsledný cíl
true preserveHierarchy Složka 1
    Soubor 1
    Soubor 2
    Podsložka 1
        Soubor 3
        Soubor 4
        Soubor 5
Cílová složka1 se vytvoří se stejnou strukturou jako zdroj:

Složka 1
    Soubor 1
    Soubor 2
    Podsložka 1
        Soubor 3
        Soubor 4
        Soubor5.
true flattenHierarchy Složka 1
    Soubor 1
    Soubor 2
    Podsložka 1
        Soubor 3
        Soubor 4
        Soubor 5
Cílová složka1 se vytvoří s následující strukturou:

Složka 1
    automaticky vygenerovaný název souboru 1
    automaticky vygenerovaný název souboru 2
    automaticky vygenerovaný název souboru 3
    automaticky vygenerovaný název souboru 4
    automaticky vygenerovaný název souboru 5
true mergeFiles Složka 1
    Soubor 1
    Soubor 2
    Podsložka 1
        Soubor 3
        Soubor 4
        Soubor 5
Cílová složka1 se vytvoří s následující strukturou:

Složka 1
    File1 + File2 + File3 + File4 + File5 obsah jsou sloučeny do jednoho souboru s automaticky vygenerovaným názvem souboru.
false (nepravda) preserveHierarchy Složka 1
    Soubor 1
    Soubor 2
    Podsložka 1
        Soubor 3
        Soubor 4
        Soubor 5
Cílová složka1 se vytvoří s následující strukturou:

Složka 1
    Soubor 1
    Soubor 2

Podsložka1 se souborem File3, File4 a File5 se nenabídne.
false (nepravda) flattenHierarchy Složka 1
    Soubor 1
    Soubor 2
    Podsložka 1
        Soubor 3
        Soubor 4
        Soubor 5
Cílová složka1 se vytvoří s následující strukturou:

Složka 1
    automaticky vygenerovaný název souboru 1
    automaticky vygenerovaný název souboru 2

Podsložka1 se souborem File3, File4 a File5 se nenabídne.
false (nepravda) mergeFiles Složka 1
    Soubor 1
    Soubor 2
    Podsložka 1
        Soubor 3
        Soubor 4
        Soubor 5
Cílová složka1 se vytvoří s následující strukturou:

Složka 1
    Obsah File1 + File2 se sloučí do jednoho souboru s automaticky vygenerovaným názvem souboru. automaticky vygenerovaný název souboru 1

Podsložka1 se souborem File3, File4 a File5 se nenabídne.

Zachování seznamů ACL ve službě Data Lake Storage Gen2

Tip

Pokud chcete zkopírovat data z Azure Data Lake Storage Gen1 do Gen2 obecně, přečtěte si téma Kopírování dat z Azure Data Lake Storage Gen1 do Gen2 , kde najdete návod a osvědčené postupy.

Pokud chcete replikovat seznamy řízení přístupu (ACL) spolu s datovými soubory při upgradu z Data Lake Storage Gen1 na Data Lake Storage Gen2, přečtěte si téma Zachování seznamů ACL ze služby Data Lake Storage Gen1.

Mapování vlastností toku dat

Při transformaci dat při mapování toků dat můžete číst a zapisovat soubory z Azure Data Lake Storage Gen1 v následujících formátech:

Nastavení specifická pro formát jsou umístěna v dokumentaci pro tento formát. Další informace najdete v tématu Transformace zdroje v mapování toku dat a transformace jímky v mapování toku dat.

Transformace zdroje

Ve zdrojové transformaci můžete číst z kontejneru, složky nebo jednotlivého souboru v Azure Data Lake Storage Gen1. Karta Možnosti zdroje umožňuje spravovat, jak se soubory čtou.

Snímek obrazovky s kartou Možnosti zdroje v transformaci zdroje mapování toku dat

Cesta se zástupným znakem: Použití vzoru se zástupným znakem dává službě pokyn, aby prošel každou odpovídající složkou a souborem v jedné transformaci zdroje. Jedná se o efektivní způsob, jak zpracovat více souborů v rámci jednoho toku. Přidejte několik vzorů porovnávání se zástupnými znaménkami a znaménkem +, které se zobrazí při najetí myší na existující vzor se zástupnými znaménkami.

Ve zdrojovém kontejneru zvolte řadu souborů, které odpovídají vzoru. V datové sadě je možné zadat pouze kontejner. Cesta se zástupným znakem proto musí obsahovat také cestu ke složce z kořenové složky.

Příklady zástupných znaků:

  • * Představuje libovolnou sadu znaků.

  • ** Představuje rekurzivní vnoření adresářů.

  • ? Nahradí jeden znak.

  • [] Odpovídá jednomu z více znaků v hranatých závorkách.

  • /data/sales/**/*.csv Získá všechny soubory CSV v části /data/sales.

  • /data/sales/20??/**/ Získá všechny soubory rekurzivně ve všech odpovídajících složkách 20xx.

  • /data/sales/*/*/*.csv Získá soubory CSV ve dvou úrovních pod /data/sales.

  • /data/sales/2004/12/[XY]1?.csv Získá všechny soubory CSV od prosince 2004 počínaje X nebo Y, následované 1 a libovolným jedním znakem.

Kořenová cesta oddílu: Pokud máte ve zdroji souborů rozdělené složky s formátem key=value (například year=2019), můžete přiřadit nejvyšší úroveň stromu složek oddílů k názvu sloupce ve streamu dat toku dat.

Nejprve nastavte zástupný znak tak, aby zahrnoval všechny cesty, které jsou rozdělené složky a soubory typu list, které chcete přečíst.

Snímek obrazovky s nastavením zdrojového souboru oddílu při transformaci zdroje toku dat mapování

Pomocí nastavení Kořenová cesta oddílu definujte, jaká je nejvyšší úroveň struktury složek. Když si zobrazíte obsah dat prostřednictvím náhledu dat, uvidíte, že služba přidá vyřešené oddíly nalezené v každé z úrovní složek.

Kořenová cesta oddílu

Seznam souborů: Toto je sada souborů. Vytvořte textový soubor, který obsahuje seznam souborů relativní cesty ke zpracování. Přejděte na tento textový soubor.

Sloupec pro uložení názvu souboru: Uložte název zdrojového souboru do sloupce ve vašich datech. Sem zadejte nový název sloupce, do které se uloží řetězec názvu souboru.

Po dokončení: Po spuštění toku dat můžete s zdrojovým souborem dělat nic, odstranit zdrojový soubor nebo ho přesunout. Cesty pro přesunutí jsou relativní.

Chcete-li přesunout zdrojové soubory do jiného umístění po zpracování, vyberte nejprve možnost Přesunout pro operaci se souborem. Pak nastavte adresář "from". Pokud pro svou cestu nepoužíváte žádné zástupné nástavby, nastavení "from" je stejná složka jako zdrojová složka.

Pokud máte zdrojovou cestu se zástupným znakem, syntaxe vypadá takto:

/data/sales/20??/**/*.csv

Můžete zadat "from" jako

/data/sales

A "komu" jako

/backup/priorSales

V tomto případě se všechny soubory, které byly zdrojové pod položkou /data/sales, přesunou do složky /backup/priorSales.

Poznámka:

Operace se soubory se spouštějí pouze při spuštění toku dat ze spuštění kanálu (spuštění ladění kanálu nebo spuštění), který používá aktivitu Spustit Tok dat v kanálu. Operace se soubory se nespouštějí v režimu ladění Tok dat.

Filtrovat podle poslední změny: Můžete filtrovat soubory, které zpracováváte, zadáním rozsahu dat, ve kterém byly naposledy změněny. Všechna data a časy jsou ve standardu UTC.

Povolit zachytávání dat změn: Pokud je true, získáte nové nebo změněné soubory jenom z posledního spuštění. Počáteční načtení úplných dat snímků se vždy dostane při prvním spuštění a následně zachytí nové nebo změněné soubory pouze v dalších spuštěních. Další podrobnosti najdete v tématu Změna zachytávání dat.

Snímek obrazovky znázorňující povolení zachytávání dat změn

Vlastnosti jímky

V transformaci jímky můžete zapisovat do kontejneru nebo složky ve službě Azure Data Lake Storage Gen1. Karta Nastavení umožňuje spravovat způsob zápisu souborů.

možnosti jímky

Vymazat složku: Určuje, zda se cílová složka vymaže před zápisem dat.

Možnost název souboru: Určuje, jak mají cílové soubory název v cílové složce. Možnosti názvu souboru jsou:

  • Výchozí: Povolit Sparku pojmenování souborů na základě výchozích hodnot PART.
  • Vzor: Zadejte vzor, který vypíše výstupní soubory na oddíl. Například půjčky[n].csv vytvoří loans1.csv, loans2.csv atd.
  • Na oddíl: Zadejte jeden název souboru na oddíl.
  • Jako data ve sloupci: Nastavte výstupní soubor na hodnotu sloupce. Cesta je relativní vzhledem ke kontejneru datové sady, nikoli cílové složce. Pokud máte v datové sadě cestu ke složce, přepíše se.
  • Výstup do jednoho souboru: Zkombinujte rozdělené výstupní soubory do jednoho pojmenovaného souboru. Cesta je relativní vzhledem ke složce datové sady. Mějte na paměti, že operace sloučení může selhat na základě velikosti uzlu. Tato možnost se nedoporučuje pro velké datové sady.

Všechny uvozovky: Určuje, zda chcete uzavřít všechny hodnoty do uvozovek.

Vlastnosti aktivity vyhledávání

Podrobnosti o vlastnostech najdete v aktivitě Vyhledávání.

Vlastnosti aktivity GetMetadata

Podrobnosti o vlastnostech najdete v aktivitě GetMetadata.

Odstranění vlastností aktivity

Podrobnosti o vlastnostech najdete v aktivitě Odstranění.

Starší modely

Poznámka:

Následující modely jsou stále podporovány, protože je to kvůli zpětné kompatibilitě. Doporučujeme použít nový model uvedený v předchozích částech a uživatelské rozhraní pro vytváření obsahu se přepnulo na generování nového modelu.

Starší model datové sady

Vlastnost Popis Povinní účastníci
type Vlastnost typu datové sady musí být nastavena na AzureDataLakeStoreFile. Ano
folderPath Cesta ke složce ve službě Data Lake Store Pokud není zadaný, odkazuje na kořen.

Podporuje se filtr zástupných znaků. Povolené zástupné znaky jsou * (odpovídají nule nebo více znakům) a ? (odpovídá nule nebo jednomu znaku). Slouží ^ k řídicímu znaku, pokud má váš skutečný název složky zástupný znak nebo tento řídicí znak uvnitř.

Příklad: rootfolder/podsložka/. Další příklady najdete v příkladech filtru složek a souborů.
No
fileName Filtr názvů nebo zástupných znaků pro soubory v zadané cestě folderPath. Pokud pro tuto vlastnost nezadáte hodnotu, datová sada odkazuje na všechny soubory ve složce.

Pro filtr jsou * povolené zástupné znaky (odpovídá nule nebo více znaků) a ? (odpovídá nule nebo jednomu znaku).
– Příklad 1: "fileName": "*.csv"
– Příklad 2: "fileName": "???20180427.txt"
Slouží ^ k uvozování, pokud má váš skutečný název souboru zástupný znak nebo tento řídicí znak uvnitř.

Pokud pro výstupní datovou sadu není zadaný název fileName a v jímce aktivity není zadána vlastnost preserveHierarchy , aktivita kopírování automaticky vygeneruje název souboru s následujícím vzorem: Data.[ GUID ID spuštění aktivity]. [GUID pokud FlattenHierarchy]. [formát, pokud je nakonfigurovaný]. [komprese, pokud je nakonfigurovaná]", například "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz". Pokud zkopírujete z tabulkového zdroje místo dotazu název tabulky, vzor názvů je [název tabulky].[ formát]. [komprese, pokud je nakonfigurovaná]", například "MyTable.csv".
No
modifiedDatetimeStart Filtr souborů na základě atributu Naposledy změněno Soubory jsou vybrány, pokud je jejich čas poslední změny větší nebo roven modifiedDatetimeStart a menší než modifiedDatetimeEnd. Čas se použije u časového pásma UTC ve formátu "2018-12-01T05:00:00Z".

Celkový výkon přesunu dat je ovlivněn povolením tohoto nastavení, když chcete filtrovat soubory s velkým množstvím souborů.

Vlastnosti můžou mít hodnotu NULL, což znamená, že u datové sady není použit žádný filtr atributů souboru. Pokud modifiedDatetimeStart má hodnotu datetime, ale modifiedDatetimeEnd má hodnotu NULL, znamená to, že jsou vybrané soubory, jejichž atribut poslední změny je větší nebo roven hodnotě datetime. Pokud modifiedDatetimeEnd má hodnotu datetime, ale modifiedDatetimeStart má hodnotu NULL, znamená to, že soubory, jejichž atribut poslední změny je menší než hodnota datetime, jsou vybrány.
No
modifiedDatetimeEnd Filtr souborů na základě atributu Naposledy změněno Soubory jsou vybrány, pokud je jejich čas poslední změny větší nebo roven modifiedDatetimeStart a menší než modifiedDatetimeEnd. Čas se použije u časového pásma UTC ve formátu "2018-12-01T05:00:00Z".

Celkový výkon přesunu dat je ovlivněn povolením tohoto nastavení, když chcete filtrovat soubory s velkým množstvím souborů.

Vlastnosti můžou mít hodnotu NULL, což znamená, že u datové sady není použit žádný filtr atributů souboru. Pokud modifiedDatetimeStart má hodnotu datetime, ale modifiedDatetimeEnd má hodnotu NULL, znamená to, že jsou vybrané soubory, jejichž atribut poslední změny je větší nebo roven hodnotě datetime. Pokud modifiedDatetimeEnd má hodnotu datetime, ale modifiedDatetimeStart má hodnotu NULL, znamená to, že soubory, jejichž atribut poslední změny je menší než hodnota datetime, jsou vybrány.
No
format Pokud chcete kopírovat soubory tak, jak je to mezi úložišti založenými na souborech (binární kopie), přeskočte oddíl formátu v definicích vstupní i výstupní datové sady.

Pokud chcete analyzovat nebo generovat soubory s určitým formátem, podporují se následující typy formátů souborů: TextFormat, JsonFormat, AvroFormat, OrcFormat a ParquetFormat. Nastavte vlastnost typu ve formátu na jednu z těchto hodnot. Další informace najdete v částech Formát textu, Formát JSON, Formát Avro, Formát Orc a Parquet .
Ne (pouze pro scénář binárního kopírování)
komprese Zadejte typ a úroveň komprese dat. Další informace naleznete v tématu Podporované formáty souborů a komprimační kodeky.
Podporované typy jsou GZip, Deflate, BZip2 a ZipDeflate.
Podporované úrovně jsou Optimální a Nejrychlejší.
No

Tip

Chcete-li kopírovat všechny soubory ve složce, zadejte pouze folderPath .
Pokud chcete zkopírovat jeden soubor s konkrétním názvem, zadejte folderPath s částí složky a fileName s názvem souboru.
Chcete-li zkopírovat podmnožinu souborů ve složce, zadejte folderPath s částí složky a fileName pomocí filtru se zástupnými otazníky.

Příklad:

{
    "name": "ADLSDataset",
    "properties": {
        "type": "AzureDataLakeStoreFile",
        "linkedServiceName":{
            "referenceName": "<ADLS linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "folderPath": "datalake/myfolder/",
            "fileName": "*",
            "modifiedDatetimeStart": "2018-12-01T05:00:00Z",
            "modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ",",
                "rowDelimiter": "\n"
            },
            "compression": {
                "type": "GZip",
                "level": "Optimal"
            }
        }
    }
}

Model zdroje starší verze aktivity kopírování

Vlastnost Popis Povinní účastníci
type Vlastnost type zdroje aktivity kopírování musí být nastavena na AzureDataLakeStoreSource. Ano
rekurzivní Určuje, zda se data čtou rekurzivně z podsložek nebo pouze ze zadané složky. Pokud recursive je nastavena hodnota true a jímka je úložiště založené na souborech, prázdná složka nebo podsložka se nezkopíruje ani nevytvoří v jímce. Povolené hodnoty jsou true (výchozí) a false. No
maxConcurrentConnections Horní limit souběžných připojení vytvořených k úložišti dat během spuštění aktivity. Zadejte hodnotu pouze v případech, kdy chcete omezit souběžná připojení. No

Příklad:

"activities":[
    {
        "name": "CopyFromADLSGen1",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<ADLS Gen1 input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "AzureDataLakeStoreSource",
                "recursive": true
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Starší model jímky aktivity kopírování

Vlastnost Popis Povinní účastníci
type Vlastnost type jímky aktivity kopírování musí být nastavena na AzureDataLakeStoreSink. Ano
copyBehavior Definuje chování kopírování, pokud je zdrojem soubory ze souborového úložiště dat.

Povolené hodnoty jsou následující:
- PreserveHierarchy (výchozí):: Zachová hierarchii souborů v cílové složce. Relativní cesta zdrojového souboru ke zdrojové složce je shodná s relativní cestou cílového souboru s cílovou složkou.
- FlattenHierarchy: Všechny soubory ze zdrojové složky jsou na první úrovni cílové složky. Cílové soubory mají automaticky vygenerované názvy.
- MergeFiles: Sloučí všechny soubory ze zdrojové složky do jednoho souboru. Pokud je zadaný název souboru, je zadaným názvem sloučený soubor. V opačném případě se název souboru automaticky vygeneruje.
No
maxConcurrentConnections Horní limit souběžných připojení vytvořených k úložišti dat během spuštění aktivity. Zadejte hodnotu pouze v případech, kdy chcete omezit souběžná připojení. No

Příklad:

"activities":[
    {
        "name": "CopyToADLSGen1",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<ADLS Gen1 output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "AzureDataLakeStoreSink",
                "copyBehavior": "PreserveHierarchy"
            }
        }
    }
]

Změna zachytávání dat (Preview)

Azure Data Factory může získat nové nebo změněné soubory jenom z Azure Data Lake Storage Gen1 povolením povolení zachytávání dat změn (Preview) v transformaci zdroje toku dat mapování. Pomocí této možnosti konektoru můžete číst pouze nové nebo aktualizované soubory a použít transformace před načtením transformovaných dat do cílových datových sad podle vašeho výběru.

Ujistěte se, že název kanálu a aktivity zůstane beze změny, aby se kontrolní bod mohl vždy zaznamenávat z posledního spuštění, abyste odsud získali změny. Pokud změníte název kanálu nebo název aktivity, kontrolní bod se resetuje a začnete od začátku dalšího spuštění.

Při ladění kanálu funguje také povolení zachytávání dat změn (Preview). Kontrolní bod se resetuje, když během spuštění ladění aktualizujete prohlížeč. Jakmile budete s výsledkem spuštění ladění spokojeni, můžete kanál publikovat a aktivovat. Vždy začne od začátku bez ohledu na předchozí kontrolní bod zaznamenaný spuštěním ladění.

V části monitorování máte vždy možnost znovu spustit kanál. Když to uděláte, změny se vždy z záznamu kontrolního bodu ve vybraném spuštění kanálu zobrazí.

Seznam úložišť dat podporovaných jako zdroje a jímky aktivitou kopírování najdete v podporovaných úložištích dat.