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:
- Kopírování souborů pomocí jedné z následujících metod ověřování: instanční objekt nebo spravované identity pro prostředky Azure.
- Zkopírujte soubory tak, jak jsou nebo parsují nebo generují soubory s podporovanými formáty souborů a komprimačními kodeky.
- Při kopírování do Azure Data Lake Storage Gen2 zachováte seznamy ACL .
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:
- Nástroj pro kopírování dat
- Azure Portal
- Sada .NET SDK
- Sada Python SDK
- Azure PowerShell
- Rozhraní REST API
- Šablona Azure Resource Manageru
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.
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ý:
Vyhledejte Azure Data Lake Storage Gen1 a vyberte konektor Azure Data Lake Storage Gen1.
Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.
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.
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
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.
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.
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:
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í.
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.
- Formát Avro
- Binární formát
- Formát textu s oddělovači
- Formát aplikace Excel
- Formát JSON
- Formát ORC
- Formát Parquet
- Formát XML
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.
- Formát Avro
- Binární formát
- Formát textu s oddělovači
- Formát aplikace Excel
- Formát JSON
- Formát ORC
- Formát Parquet
- Formát XML
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.
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.
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.
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.
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ů.
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í.
Související obsah
Seznam úložišť dat podporovaných jako zdroje a jímky aktivitou kopírování najdete v podporovaných úložištích dat.