Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
VZTAHUJE SE NA:
Azure Data Factory
Azure Synapse Analytics
Návod
Data Factory v Microsoft Fabric je nová generace Azure Data Factory s jednodušší architekturou, integrovanou AI a novými funkcemi. Pokud s integrací dat začínáte, začněte Fabric Data Factory. Stávající úlohy ADF lze upgradovat na Fabric pro přístup k novým funkcím v oblastech datové vědy, analýz v reálném čase a vytváření sestav.
Tento rychlý start popisuje, jak pomocí PowerShellu vytvořit Azure Data Factory. Potrubí, které vytvoříte v této datové továrně, kopíruje data z jedné složky do jiné složky v úložišti objektů blob Azure. Kurz transform dat pomocí Azure Data Factory najdete v tématu Tutorial: Transformace dat pomocí Sparku.
Poznámka:
Tento článek neposkytuje podrobný úvod do služby Data Factory. Úvod do služby Azure Data Factory najdete v tématu Introduction k Azure Data Factory.
Požadavky
předplatné Azure
Pokud nemáte předplatné Azure, vytvořte si účet free než začnete.
Azure role
Pokud chcete vytvořit instance služby Data Factory, musí být uživatelský účet, který používáte k přihlášení k Azure, členem role contributor nebo owner nebo administrator předplatného Azure. Pokud chcete zobrazit oprávnění, která máte v předplatném, přejděte na portál Azure, vyberte své jméno uživatele v pravém horním rohu, vyberte ikonu "..." pro zobrazení dalších možností a pak vyberte Moje oprávnění. Pokud máte přístup k několika předplatným, vyberte odpovídající předplatné.
Při vytváření a správě podřízených prostředků pro službu Data Factory, včetně datových sad, propojených služeb, kanálů, triggerů a prostředí Integration Runtime, platí následující požadavky:
- Pokud chcete vytvářet a spravovat podřízené prostředky na portálu Azure, musíte patřit do role přispěvatele Data Factory na úrovni skupiny prostředků nebo vyšší.
- Pro vytváření a správu podřízených prostředků pomocí PowerShellu nebo sady SDK na úrovni prostředku nebo vyšší je dostatečná role Přispěvatel.
Ukázku pokynů pro přidání uživatele do role najdete v článku věnovaném přidávání rolí.
Další informace najdete v následujících článcích:
účet Azure Storage
Účet Azure Storage pro obecné účely (konkrétně úložiště objektů blob) použijete jako úložiště dat pro zdroj i cíl v tomto průvodci. Pokud nemáte účet pro obecné účely Azure Storage, přečtěte si článek Vytvoření účtu úložiště a vytvořte ho.
Získání názvu účtu úložiště
Pro účely tohoto rychlého startu potřebujete název svého účtu Azure Storage. Následující postup obsahuje postup získání názvu účtu úložiště:
- Ve webovém prohlížeči přejděte na portál Azure a přihlaste se pomocí svého Azure uživatelského jména a hesla.
- V nabídce portálu Azure vyberte Všechny služby a pak vyberte Storage>Storage accounts. Můžete také na libovolné stránce vyhledat a vybrat účet úložiště.
- Na stránce Účty úložiště v případě potřeby svůj účet úložiště vyfiltrujte, a pak vyberte svůj účet úložiště.
Můžete také na libovolné stránce vyhledat a vybrat účet úložiště.
Vytvoření blob kontejneru
V této části vytvoříte v Azure Blob Storage kontejner objektů blob s názvem adftutorial.
Na stránce účtu úložiště vyberte Přehled>kontejnerů.
Na panelu nástrojů na stránce <názvu účtu> - Kontejnery vyberte Kontejner.
V dialogovém okně Nový kontejner jako název zadejte adftutorial a pak vyberte OK. <Název účtu> - Kontejnery stránka se aktualizuje, aby zahrnovala adftutorial v seznamu kontejnerů.
Přidejte vstupní složku a soubor pro blob kontejner
V této části vytvoříte složku s názvem vstup v kontejneru, který jste vytvořili, a pak nahrajete ukázkový soubor do vstupní složky. Než začnete, otevřete textový editor, například Poznámkový blok, a vytvořte soubor s názvem emp.txt s následujícím obsahem:
John, Doe
Jane, Doe
Uložte soubor do složky C:\ADFv2QuickStartPSH . (Pokud složka ještě neexistuje, vytvořte ji.) Pak se vraťte na portál Azure a postupujte takto:
Na stránce <Název účtu> - kontejnery, kde jste skončili, vyberte z aktualizovaného seznamu kontejnerů adftutorial.
- Pokud jste okno zavřeli nebo jste přešli na jinou stránku, přihlaste se k portálu Azure znovu.
- V nabídce portálu Azure vyberte Všechny služby a pak vyberte Storage>Storage accounts. Můžete také na libovolné stránce vyhledat a vybrat účet úložiště.
- Zvolte svůj účet úložiště a pak zvolte Kontejnery>adftutorial.
Na panelu nástrojů stránky kontejneru adftutorial vyberte Nahrát.
Na stránce Nahrát objekt blob vyberte pole Soubory, pak přejděte k souboru emp.txt a vyberte ho.
Rozbalte nadpis Pokročilé. Stránka se teď zobrazí takto:
V poli Nahrát do složky zadejte vstup.
vyberte tlačítko Nahrát. Měli byste vidět soubor emp.txt a stav nahrávání v seznamu.
Ikonu Zavřít (X) použijte k zavření stránky Nahrát blob.
Nechte stránku kontejneru adftutorial otevřenou. Použijete jej k ověření výstupu na konci tohoto rychlého průvodce.
Azure PowerShell
Poznámka:
K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Pokud chcete začít, přečtěte si téma Install Azure PowerShell. Informace o migraci do modulu Az PowerShell najdete v tématu Migrace Azure PowerShell z AzureRM do Az.
Nainstalujte nejnovější moduly Azure PowerShell podle pokynů v Jak nainstalovat a nakonfigurovat Azure PowerShell.
Varování
Pokud nepoužíváte nejnovější verze powershellového modulu a modulu Data Factory, můžete při spouštění příkazů narazit na chyby deserializace.
Přihlášení k PowerShellu
Spusťte na svém počítači PowerShell. Nechte PowerShell otevřený až do konce tohoto rychlého startu. Pokud ho zavřete a znovu otevřete, tyto příkazy bude potřeba znovu spustit.
Spusťte následující příkaz a zadejte stejné Azure uživatelské jméno a heslo, které používáte pro přihlášení k portálu Azure:
Connect-AzAccountSpuštěním následujícího příkazu zobrazíte všechna předplatná pro tento účet:
Get-AzSubscriptionPokud se zobrazí několik předplatných přidružených vašem účtu, spuštěním následujícího příkazu vyberte předplatné, se kterým chcete pracovat. Nahraďte SubscriptionId ID vašeho předplatného Azure:
Select-AzSubscription -SubscriptionId "<SubscriptionId>"
Vytvoření datové továrny
Definujte proměnnou pro název skupiny prostředků, kterou použijete později v příkazech PowerShellu. Zkopírujte následující text příkazu do PowerShellu, zadejte název skupiny prostředků Azure v dvojitých uvozovkách a spusťte příkaz. Například:
"ADFQuickStartRG".$resourceGroupName = "ADFQuickStartRG";Pokud již skupina prostředků existuje, možná nebudete chtít ji přepsat. Přiřaďte proměnné
$ResourceGroupNamejinou hodnotu a spusťte tento příkaz znovu.Pokud chcete vytvořit skupinu prostředků Azure, spusťte následující příkaz:
$ResGrp = New-AzResourceGroup $resourceGroupName -location 'East US'Pokud již skupina prostředků existuje, možná nebudete chtít ji přepsat. Přiřaďte proměnné
$ResourceGroupNamejinou hodnotu a spusťte tento příkaz znovu.Definujte proměnnou pro název datové továrny.
Důležité
Aktualizujte název datové továrny tak, aby byl celosvětově unikátní. Například ADFTutorialFactorySP1127.
$dataFactoryName = "ADFQuickStartFactory";Pokud chcete vytvořit datovou továrnu, spusťte následující rutinu Set-AzDataFactoryV2 pomocí vlastnosti Location a ResourceGroupName z proměnné $ResGrp:
$DataFactory = Set-AzDataFactoryV2 -ResourceGroupName $ResGrp.ResourceGroupName ` -Location $ResGrp.Location -Name $dataFactoryName
Mějte na paměti následující body:
Název Azure Data Factory musí být globálně jedinečný. Pokud se zobrazí následující chyba, změňte název a zkuste to znovu.
The specified Data Factory name 'ADFv2QuickStartDataFactory' is already in use. Data Factory names must be globally unique.Pokud chcete vytvořit instance služby Data Factory, musí být uživatelský účet, který používáte pro přihlášení k Azure, členem rolí contributor, owner nebo být administrátorem předplatného Azure.
Seznam Azure oblastí, ve kterých je služba Data Factory aktuálně dostupná, vyberte oblasti, které vás zajímají, na následující stránce a rozbalte Analytics a vyhledejte Data Factory: Products available by region. Úložiště dat (Azure Storage, Azure SQL Database atd.) a výpočty (HDInsight atd.) používané datovými továrnami můžou být v jiných oblastech.
Vytvoření propojené služby
V datové továrně vytvořte propojené služby, abyste svá úložiště dat a výpočetní služby spojili s datovou továrnou. V tomto rychlém startu vytvoříte propojenou službu Azure Storage, která se používá jako úložiště zdroje i jímky. Tato propojená služba má informace o připojení, které služba Data Factory používá pro připojení za běhu.
Návod
V tomto rychlém startu použijete klíč účtu jako typ ověřování pro vaše úložiště dat, ale v případě potřeby můžete zvolit jiné podporované metody ověřování: identifikátor URI SAS, *instanční objekt a spravovanou identitu . Podrobnosti najdete v odpovídajících částech tohoto článku . K bezpečnému ukládání tajných kódů pro úložiště dat se také doporučuje použít Azure Key Vault. Podrobné ilustrace najdete v tomto článku .
Ve složce C:\ADFv2QuickStartPSH vytvořte soubor JSON s názvem AzureStorageLinkedService.json s následujícím obsahem: (Vytvořte složku ADFv2QuickStartPSH, pokud ještě neexistuje.)
Důležité
Před uložením souboru nahraďte <accountName> a <accountKey> názvem a klíčem účtu úložiště Azure.
{ "name": "AzureStorageLinkedService", "properties": { "annotations": [], "type": "AzureBlobStorage", "typeProperties": { "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net" } } }Pokud používáte Poznámkový blok, vyberte všechny soubory pro pole Uložit jako typ v dialogovém okně Uložit jako. V opačném případě může do souboru přidat
.txtpříponu. NapříkladAzureStorageLinkedService.json.txt. Pokud soubor vytvoříte v Průzkumníku souborů před jeho otevřením v Poznámkovém bloku, možná se přípona nezobrazí.txt, protože možnost Skrýt přípony pro známé typy souborů je ve výchozím nastavení nastavená. Než budete pokračovat k dalšímu kroku, odeberte příponu.txt.V PowerShellu přejděte do složky ADFv2QuickStartPSH.
Set-Location 'C:\ADFv2QuickStartPSH'Spuštěním rutiny Set-AzDataFactoryV2LinkedService vytvořte propojenou službu AzureStorageLinkedService.
Set-AzDataFactoryV2LinkedService -DataFactoryName $DataFactory.DataFactoryName ` -ResourceGroupName $ResGrp.ResourceGroupName -Name "AzureStorageLinkedService" ` -DefinitionFile ".\AzureStorageLinkedService.json"Tady je ukázkový výstup:
LinkedServiceName : AzureStorageLinkedService ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Properties : Microsoft.Azure.Management.DataFactory.Models.AzureBlobStorageLinkedService
Vytvoření datových sad
V tomto postupu vytvoříte dvě datové sady:InputDataset a OutputDataset. Tyto datové sady jsou typu Binary. Odkazují na Azure Storage propojenou službu, kterou jste vytvořili v předchozí části. Vstupní datová sada představuje zdrojová data ve vstupní složce. V definici vstupní datové sady určíte kontejner objektů blob (adftutorial), složku (input) a soubor (emp.txt) obsahující zdrojová data. Výstupní datová sada představuje data kopírovaná do cíle. V definici výstupní datové sady určíte kontejner objektů blob (adftutorial), složku (output) a soubor, do kterého se data kopírují.
Ve složce C:\ADFv2QuickStartPSH vytvořte soubor JSON s názvem InputDataset.jsons následujícím obsahem:
{ "name": "InputDataset", "properties": { "linkedServiceName": { "referenceName": "AzureStorageLinkedService", "type": "LinkedServiceReference" }, "annotations": [], "type": "Binary", "typeProperties": { "location": { "type": "AzureBlobStorageLocation", "fileName": "emp.txt", "folderPath": "input", "container": "adftutorial" } } } }Pokud chcete vytvořit datovou sadu: InputDataset, spusťte rutinu Set-AzDataFactoryV2Dataset .
Set-AzDataFactoryV2Dataset -DataFactoryName $DataFactory.DataFactoryName ` -ResourceGroupName $ResGrp.ResourceGroupName -Name "InputDataset" ` -DefinitionFile ".\InputDataset.json"Tady je ukázkový výstup:
DatasetName : InputDataset ResourceGroupName : <resourceGroupname> DataFactoryName : <dataFactoryName> Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.BinaryDatasetPomocí stejného postupu vytvořte výstupní datovou sadu. Ve složce C:\ADFv2QuickStartPSH vytvořte soubor JSON s názvem OutputDataset.jsons následujícím obsahem:
{ "name": "OutputDataset", "properties": { "linkedServiceName": { "referenceName": "AzureStorageLinkedService", "type": "LinkedServiceReference" }, "annotations": [], "type": "Binary", "typeProperties": { "location": { "type": "AzureBlobStorageLocation", "folderPath": "output", "container": "adftutorial" } } } }Spuštěním rutiny Set-AzDataFactoryV2Dataset vytvořte OutDataset.
Set-AzDataFactoryV2Dataset -DataFactoryName $DataFactory.DataFactoryName ` -ResourceGroupName $ResGrp.ResourceGroupName -Name "OutputDataset" ` -DefinitionFile ".\OutputDataset.json"Tady je ukázkový výstup:
DatasetName : OutputDataset ResourceGroupName : <resourceGroupname> DataFactoryName : <dataFactoryName> Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.BinaryDataset
Vytvořit potrubí
V tomto postupu vytvoříte kanál s aktivitou kopírování, která používá vstupní a výstupní datové sady. Aktivita kopírování kopíruje data ze souboru zadaného v nastavení vstupní datové sady do souboru zadaného v nastavení výstupní datové sady.
Ve složce C:\ADFv2QuickStartPSH vytvořte soubor JSON s názvem Adfv2QuickStartPipeline.json s následujícím obsahem:
{ "name": "Adfv2QuickStartPipeline", "properties": { "activities": [ { "name": "CopyFromBlobToBlob", "type": "Copy", "dependsOn": [], "policy": { "timeout": "7.00:00:00", "retry": 0, "retryIntervalInSeconds": 30, "secureOutput": false, "secureInput": false }, "userProperties": [], "typeProperties": { "source": { "type": "BinarySource", "storeSettings": { "type": "AzureBlobStorageReadSettings", "recursive": true } }, "sink": { "type": "BinarySink", "storeSettings": { "type": "AzureBlobStorageWriteSettings" } }, "enableStaging": false }, "inputs": [ { "referenceName": "InputDataset", "type": "DatasetReference" } ], "outputs": [ { "referenceName": "OutputDataset", "type": "DatasetReference" } ] } ], "annotations": [] } }Pokud chcete vytvořit kanál: Adfv2QuickStartPipeline, spusťte rutinu Set-AzDataFactoryV2Pipeline .
$DFPipeLine = Set-AzDataFactoryV2Pipeline ` -DataFactoryName $DataFactory.DataFactoryName ` -ResourceGroupName $ResGrp.ResourceGroupName ` -Name "Adfv2QuickStartPipeline" ` -DefinitionFile ".\Adfv2QuickStartPipeline.json"
Vytvoření spuštění kanálu
V tomto kroku vytvoříte spuštění úlohy.
Spuštěním příkazu Invoke-AzDataFactoryV2Pipeline vytvořte spuštění datového potrubí. Tato rutina vrací ID spuštění kanálu pro budoucí monitorování.
$RunId = Invoke-AzDataFactoryV2Pipeline `
-DataFactoryName $DataFactory.DataFactoryName `
-ResourceGroupName $ResGrp.ResourceGroupName `
-PipelineName $DFPipeLine.Name
Monitorování spuštění kanálu
Spusťte následující skript PowerShell, který bude nepřetržitě kontrolovat stav spuštění pipeline, než dokončí kopírování dat. Zkopírujte/vložte následující skript v okně PowerShellu a stiskněte klávesu Enter.
while ($True) { $Run = Get-AzDataFactoryV2PipelineRun ` -ResourceGroupName $ResGrp.ResourceGroupName ` -DataFactoryName $DataFactory.DataFactoryName ` -PipelineRunId $RunId if ($Run) { if ( ($Run.Status -ne "InProgress") -and ($Run.Status -ne "Queued") ) { Write-Output ("Pipeline run finished. The status is: " + $Run.Status) $Run break } Write-Output ("Pipeline is running...status: " + $Run.Status) } Start-Sleep -Seconds 10 }Tady je ukázkový výstup spuštění kanálu:
Pipeline is running...status: InProgress Pipeline run finished. The status is: Succeeded ResourceGroupName : ADFQuickStartRG DataFactoryName : ADFQuickStartFactory RunId : 00000000-0000-0000-0000-0000000000000 PipelineName : Adfv2QuickStartPipeline LastUpdated : 8/27/2019 7:23:07 AM Parameters : {} RunStart : 8/27/2019 7:22:56 AM RunEnd : 8/27/2019 7:23:07 AM DurationInMs : 11324 Status : Succeeded Message :Spusťte následující skript, který načte podrobnosti o spuštění aktivity kopírování, například velikost načtených/zapsaných dat.
Write-Output "Activity run details:" $Result = Get-AzDataFactoryV2ActivityRun -DataFactoryName $DataFactory.DataFactoryName -ResourceGroupName $ResGrp.ResourceGroupName -PipelineRunId $RunId -RunStartedAfter (Get-Date).AddMinutes(-30) -RunStartedBefore (Get-Date).AddMinutes(30) $Result Write-Output "Activity 'Output' section:" $Result.Output -join "`r`n" Write-Output "Activity 'Error' section:" $Result.Error -join "`r`n"Zkontrolujte, jestli se zobrazí výstup podobný následujícímu ukázkovému výstupu výsledku spuštění aktivity:
ResourceGroupName : ADFQuickStartRG DataFactoryName : ADFQuickStartFactory ActivityRunId : 00000000-0000-0000-0000-000000000000 ActivityName : CopyFromBlobToBlob PipelineRunId : 00000000-0000-0000-0000-000000000000 PipelineName : Adfv2QuickStartPipeline Input : {source, sink, enableStaging} Output : {dataRead, dataWritten, filesRead, filesWritten...} LinkedServiceName : ActivityRunStart : 8/27/2019 7:22:58 AM ActivityRunEnd : 8/27/2019 7:23:05 AM DurationInMs : 6828 Status : Succeeded Error : {errorCode, message, failureType, target} Activity 'Output' section: "dataRead": 20 "dataWritten": 20 "filesRead": 1 "filesWritten": 1 "sourcePeakConnections": 1 "sinkPeakConnections": 1 "copyDuration": 4 "throughput": 0.01 "errors": [] "effectiveIntegrationRuntime": "DefaultIntegrationRuntime (Central US)" "usedDataIntegrationUnits": 4 "usedParallelCopies": 1 "executionDetails": [ { "source": { "type": "AzureBlobStorage" }, "sink": { "type": "AzureBlobStorage" }, "status": "Succeeded", "start": "2019-08-27T07:22:59.1045645Z", "duration": 4, "usedDataIntegrationUnits": 4, "usedParallelCopies": 1, "detailedDurations": { "queuingDuration": 3, "transferDuration": 1 } } ] Activity 'Error' section: "errorCode": "" "message": "" "failureType": "" "target": "CopyFromBlobToBlob"
Kontrola nasazených prostředků
Zpracovatelský řetězec automaticky vytvoří výstupní složku v kontejneru objektů blob adftutorial. Potom do výstupní složky zkopíruje soubor emp.txt ze vstupní složky.
Na portálu Azure na stránce kontejneru adftutorial vyberte Refresh a zobrazte výstupní složku.
Vyberte výstup v seznamu složek.
Potvrďte, že je do výstupní složky zkopírovaný soubor emp.txt.
Uvolněte prostředky
Prostředky, které jste vytvořili v rámci tohoto rychlého startu, můžete vyčistit dvěma způsoby. Můžete odstranit skupinu prostředků Azure, která zahrnuje všechny prostředky ve skupině prostředků. Pokud chcete zachovat ostatní prostředky beze změny, odstraňte jen datovou továrnu, kterou jste vytvořili v tomto kurzu.
Odstranění skupiny prostředků odstraní všechny prostředky, které v ní jsou, včetně datových továren. Spuštěním následujícího příkazu odstraníte celou skupinu prostředků:
Remove-AzResourceGroup -ResourceGroupName $resourcegroupname
Poznámka:
Vyřazení skupiny prostředků může nějakou dobu trvat. Prosíme vás o trpělivost.
Pokud chcete odstranit jenom datovou továrnu, a ne celou skupinu prostředků, spusťte následující příkaz:
Remove-AzDataFactoryV2 -Name $dataFactoryName -ResourceGroupName $resourceGroupName
Související obsah
Datový kanál v tomto příkladu kopíruje data z jednoho umístění do jiného umístění v úložišti Azure Blob. Projděte si kurzy, kde se dozvíte o použití služby Data Factory ve více scénářích.