Kurz: vytvoření clusterů Apache Hadoop na vyžádání v HDInsight pomocí Azure Data Factory
V tomto kurzu se naučíte, jak vytvořit cluster Apache Hadoop na vyžádání v Azure HDInsight pomocí Azure Data Factory. Pak pomocí datových kanálů v Azure Data Factory spouštíte úlohy podregistru a odstraníte cluster. Na konci tohoto kurzu se naučíte, jak operationalize Spustit úlohu s velkými objemy dat, kde se spouští vytvoření clusteru, spuštění úlohy a odstraňování clusteru.
Tento kurz se zabývá následujícími úkony:
- Vytvoření účtu úložiště Azure
- Vysvětlení aktivity Azure Data Factory
- Vytvoření datové továrny pomocí Azure Portal
- Vytvoření propojených služeb
- Vytvoření kanálu
- Aktivace kanálu
- Monitorování kanálu
- Ověření výstupu
Pokud předplatné Azure ještě nemáte, napřed si vytvořte bezplatný účet.
Požadavky
Prostředí PowerShell AZ Module installed.
Objekt Azure Active Directory služby. Po vytvoření instančního objektu se ujistěte, že jste načetli ID aplikace a ověřovací klíč podle pokynů v odkazovaném článku. Tyto hodnoty budete potřebovat později v tomto kurzu. Také se ujistěte, že instanční objekt je členem role přispěvatele předplatného nebo skupiny prostředků, ve které se cluster vytváří. Pokyny k načtení požadovaných hodnot a přiřazení správných rolí najdete v tématu vytvoření Azure Active Directory instančního objektu.
Vytvoření předběžných objektů Azure
V této části vytvoříte různé objekty, které se budou používat pro cluster HDInsight, který vytvoříte na vyžádání. Vytvořený účet úložiště bude obsahovat vzorový skript HiveQL, partitionweblogs.hql který použijete k simulaci ukázkové Apache Hive úlohy, která běží na clusteru.
V této části se používá skript Azure PowerShell k vytvoření účtu úložiště a zkopírování požadovaných souborů v rámci účtu úložiště. Ukázkový skript Azure PowerShell v této části provádí následující úlohy:
- Přihlaste se k Azure.
- Vytvoří skupinu prostředků Azure.
- Vytvoří účet služby Azure Storage.
- Vytvoří v účtu úložiště kontejner objektů BLOB.
- Zkopíruje vzorový skript HiveQL (partitionweblogs. HQL) do kontejneru objektů BLOB. Skript je k dispozici na adrese https://hditutorialdata.blob.core.windows.net/adfhiveactivity/script/partitionweblogs.hql . Ukázkový skript je již k dispozici v jiném veřejném kontejneru objektů BLOB. Níže uvedený skript PowerShellu vytvoří kopii těchto souborů na účet Azure Storage, který vytvoří.
Vytvoření účtu úložiště a kopírování souborů
Důležité
Zadejte názvy pro skupinu prostředků Azure a účet úložiště Azure, který bude skript vytvořit. Zapište název skupiny prostředků, název účtu úložiště a klíč účtu úložiště , který je vydaný skriptem. V další části je budete potřebovat.
$resourceGroupName = "<Azure Resource Group Name>"
$storageAccountName = "<Azure Storage Account Name>"
$location = "East US"
$sourceStorageAccountName = "hditutorialdata"
$sourceContainerName = "adfv2hiveactivity"
$destStorageAccountName = $storageAccountName
$destContainerName = "adfgetstarted" # don't change this value.
####################################
# Connect to Azure
####################################
#region - Connect to Azure subscription
Write-Host "`nConnecting to your Azure subscription ..." -ForegroundColor Green
$sub = Get-AzSubscription -ErrorAction SilentlyContinue
if(-not($sub))
{
Connect-AzAccount
}
# If you have multiple subscriptions, set the one to use
# Select-AzSubscription -SubscriptionId "<SUBSCRIPTIONID>"
#endregion
####################################
# Create a resource group, storage, and container
####################################
#region - create Azure resources
Write-Host "`nCreating resource group, storage account and blob container ..." -ForegroundColor Green
New-AzResourceGroup `
-Name $resourceGroupName `
-Location $location
New-AzStorageAccount `
-ResourceGroupName $resourceGroupName `
-Name $destStorageAccountName `
-Kind StorageV2 `
-Location $location `
-SkuName Standard_LRS `
-EnableHttpsTrafficOnly 1
$destStorageAccountKey = (Get-AzStorageAccountKey `
-ResourceGroupName $resourceGroupName `
-Name $destStorageAccountName)[0].Value
$sourceContext = New-AzStorageContext `
-StorageAccountName $sourceStorageAccountName `
-Anonymous
$destContext = New-AzStorageContext `
-StorageAccountName $destStorageAccountName `
-StorageAccountKey $destStorageAccountKey
New-AzStorageContainer `
-Name $destContainerName `
-Context $destContext
#endregion
####################################
# Copy files
####################################
#region - copy files
Write-Host "`nCopying files ..." -ForegroundColor Green
$blobs = Get-AzStorageBlob `
-Context $sourceContext `
-Container $sourceContainerName `
-Blob "hivescripts\hivescript.hql"
$blobs|Start-AzStorageBlobCopy `
-DestContext $destContext `
-DestContainer $destContainerName `
-DestBlob "hivescripts\partitionweblogs.hql"
Write-Host "`nCopied files ..." -ForegroundColor Green
Get-AzStorageBlob `
-Context $destContext `
-Container $destContainerName
#endregion
Write-host "`nYou will use the following values:" -ForegroundColor Green
write-host "`nResource group name: $resourceGroupName"
Write-host "Storage Account Name: $destStorageAccountName"
write-host "Storage Account Key: $destStorageAccountKey"
Write-host "`nScript completed" -ForegroundColor Green
Ověřit účet úložiště
- Přihlaste se k portálu Azure Portal.
- Vlevo přejděte na všechny služby > Obecné > skupiny prostředků.
- Vyberte název skupiny prostředků, který jste vytvořili ve svém skriptu PowerShellu. Pokud máte v seznamu příliš mnoho skupin prostředků, použijte filtr.
- V zobrazení Přehled uvidíte jeden prostředek uvedený, pokud nesdílíte skupinu prostředků s jinými projekty. Tento prostředek je účet úložiště s názvem, který jste zadali dříve. Vyberte název účtu úložiště.
- Vyberte dlaždici kontejnery .
- Vyberte kontejner adfgetstarted . Zobrazí se složka s názvem
hivescripts. - Otevřete složku a ujistěte se, že obsahuje ukázkový soubor skriptu partitionweblogs. HQL.
Pochopení aktivity Azure Data Factory
Azure Data Factory orchestruje a automatizuje přesun a transformaci dat. Azure Data Factory může vytvořit cluster HDInsight Hadoop za běhu ke zpracování vstupního datového řezu a odstranit cluster po dokončení zpracování.
V Azure Data Factory Datová továrna může mít jeden nebo více datových kanálů. Datový kanál obsahuje jednu nebo více aktivit. Existují dva typy aktivit:
- Aktivity přesunu dat. Aktivity přesunu dat slouží k přesunu dat ze zdrojového úložiště dat do cílového úložiště dat.
- Aktivity transformace dat. Aktivity transformace dat slouží k transformaci nebo zpracování dat. Aktivita podregistru HDInsight je jednou z aktivit transformace, které podporuje Data Factory. V tomto kurzu použijete aktivitu transformace podregistru.
V tomto článku nakonfigurujete aktivitu podregistru tak, aby se vytvořil cluster Hadoop služby HDInsight na vyžádání. V případě, že se aktivita spouští ke zpracování dat, je zde Tato akce:
Pro zpracování řezu se automaticky vytvoří cluster Hadoop An HDInsight za běhu.
Vstupní data jsou zpracována spuštěním skriptu HiveQL v clusteru. V tomto kurzu provede skript HiveQL přidružený k aktivitě podregistru tyto akce:
- Použije existující tabulku (hivesampletable) k vytvoření další tabulky HiveSampleOut.
- Naplní tabulku HiveSampleOut o pouze konkrétní sloupce z původních hivesampletable.
Po dokončení zpracování se cluster HDInsight Hadoop odstraní a cluster se po nakonfigurované době nečinný (nastavení timeToLive). Pokud je k dispozici další datový řez pro zpracování v této timeToLive době nečinnosti, použije se stejný cluster ke zpracování řezu.
Vytvoření datové továrny
Přihlaste se k webu Azure Portal.
V nabídce vlevo přejděte na
+ Create a resource> Analytics > Data Factory.
Zadejte nebo vyberte následující hodnoty pro novou dlaždici objektu pro vytváření dat :
Vlastnost Hodnota Název Zadejte název objektu pro vytváření dat. Tento název musí být globálně jedinečný. Verze Ponechte v v2. Předplatné Vyberte své předplatné Azure. Skupina prostředků Vyberte skupinu prostředků, kterou jste vytvořili pomocí skriptu PowerShellu. Umístění Umístění je automaticky nastaveno na umístění, které jste zadali během vytváření skupiny prostředků. Pro tento kurz je umístění nastavené na východní USA. Povolit GIT Zrušte toto políčko.
Vyberte Vytvořit. Vytváření datové továrny může trvat 2 až 4 minuty.
Po vytvoření objektu pro vytváření dat se zobrazí oznámení o úspěšném nasazení s tlačítkem Přejít na prostředek . Vyberte Přejít k prostředku a otevřete Data Factory výchozí zobrazení.
Vyberte vytvořit & monitorování a spusťte tak Azure Data Factory portál pro vytváření a monitorování.
Vytvoření propojených služeb
V této části ve své datové továrně napíšete dvě propojené služby.
- Propojená služba Azure Storage, která propojí účet služby Azure Storage s datovou továrnou. Toto úložiště používá cluster HDInsight na vyžádání. Obsahuje také skript Hive, který se spustí v clusteru.
- Propojená služba HDInsight na vyžádání. Azure Data Factory automaticky vytvoří cluster HDInsight a spustí skript Hive. Až bude cluster HDInsight zadanou dobu nečinný, odstraní ho.
Vytvoření propojené služby Azure Storage
V levém podokně stránky Začínáme vyberte ikonu Autor.
V levém dolním rohu okna vyberte Připojení a pak vyberte + Nové.
V dialogovém okně Nová propojená služba vyberte Azure Blob Storage a pak pokračovat.
Zadejte pro propojenou službu úložiště následující hodnoty:
Vlastnost Hodnota Název Zadejte HDIStorageLinkedService.Předplatné Azure V rozevíracím seznamu vyberte své předplatné. Název účtu úložiště Vyberte účet Azure Storage, který jste vytvořili jako součást skriptu PowerShellu. Vyberte Test připojení a v případě úspěchu vyberte Vytvořit.
Vytvoření propojené služby HDInsight na vyžádání
Znovu vyberte tlačítko + Nová a vytvořte další propojenou službu.
V okně Nová propojená služba vyberte kartu Compute.
Vyberte Azure HDInsight a pak vyberte Pokračovat.
V okně Nová propojená služba zadejte následující hodnoty a zbytek ponechte jako výchozí:
Vlastnost Hodnota Název Zadejte HDInsightLinkedService.Typ Vyberte HDInsight na vyžádání. Propojená služba Azure Storage Vyberte HDIStorageLinkedService.Typ clusteru Výběr hadoopu Hodnota TTL (Time to Live) Zadejte dobu, po kterou má být cluster HDInsight dostupný, než se automaticky odstraní. ID objektu služby Zadejte ID aplikace pro Azure Active Directory, který jste vytvořili v rámci požadavků. Klíč objektu služby Zadejte ověřovací klíč pro hlavní Azure Active Directory služby. Předpona názvu clusteru Zadejte hodnotu, která bude mít předponu ke všem typům clusterů vytvořeným datovou továrnou. Předplatné V rozevíracím seznamu vyberte své předplatné. Výběr skupiny prostředků Vyberte skupinu prostředků, kterou jste vytvořili jako součást skriptu PowerShellu, který jste použili dříve. Typ operačního systému / Uživatelské jméno SSH clusteru Zadejte uživatelské jméno SSH, obvykle sshuser.Typ operačního systému / Heslo SSH clusteru Zadejte heslo pro uživatele SSH. Typ operačního systému / Uživatelské jméno clusteru Zadejte uživatelské jméno clusteru, obvykle admin.Typ operačního systému / Heslo clusteru Zadejte heslo pro uživatele clusteru. Potom vyberte Vytvořit.
Vytvoření kanálu
Vyberte tlačítko + (plus) a pak vyberte Kanál.
Na panelu nástrojů Aktivity rozbalte HDInsight a přetáhněte aktivitu Hive na plochu návrháře kanálu. Na kartě Obecné zadejte název aktivity.
Ujistěte se, že máte vybranou aktivitu Hive, vyberte kartu Cluster HDI. A v rozevíracím seznamu Propojená služba HDInsight vyberte propojenou službu, kterou jste vytvořili dříve, HDInsightLinkedService, pro HDInsight.
Vyberte kartu Skript a proveďte následující kroky:
V rozevíracím seznamu Propojená služba se skripty vyberte HDIStorageLinkedService. Tato hodnota je propojená služba úložiště, kterou jste vytvořili dříve.
V cestě k souboru vyberte Procházet úložiště a přejděte do umístění, kde je k dispozici ukázkový skript Hive. Pokud jste skript PowerShellu spustili dříve, mělo by toto umístění být
adfgetstarted/hivescripts/partitionweblogs.hql.
V části > Upřesnit parametry vyberte
Auto-fill from script. Tato možnost vyhledá všechny parametry ve skriptu Hive, které vyžadují hodnoty za běhu.Do textového pole hodnota přidejte existující složku ve formátu
wasbs://adfgetstarted@<StorageAccount>.blob.core.windows.net/outputfolder/. V této cestě se rozlišují velká a malá písmena. V této cestě se uloží výstup skriptu. Schémawasbsje nezbytné, protože účty úložiště teď mají ve výchozím nastavení povolený zabezpečený přenos.
Výběrem možnosti Ověřit kanál ověřte. Výběrem >> tlačítka (šipka doprava) zavřete okno ověřování.
Nakonec vyberte Publikovat vše a publikujte artefakty do Azure Data Factory.
Aktivace kanálu
Na panelu nástrojů na ploše návrháře vyberte Přidat trigger Trigger Now > (Přidat aktivační událost).
Na překryvné bočním panelu vyberte OK.
Monitorování kanálu
Vlevo přepněte na kartu Monitorování. V seznamu Spuštění kanálu se zobrazí spuštění kanálu. Všimněte si stavu spuštění ve sloupci Stav.
Seznam můžete aktualizovat kliknutím na Aktualizovat.
Můžete také vybrat ikonu Zobrazit spuštění aktivit a zobrazit spuštění aktivit přidružené ke kanálu. Na snímku obrazovky níže vidíte pouze jedno spuštění aktivity, protože v kanálu, který jste vytvořili, existuje pouze jedna aktivita. Pokud chcete přepnout zpět na předchozí zobrazení, vyberte Kanály v horní části stránky.
Ověření výstupu
Pokud chcete ověřit výstup, v Azure Portal přejděte k účtu úložiště, který jste použili pro tento kurz. Měly by se zobrazit následující složky nebo kontejnery:
Zobrazí se adfgerstarted/outputfolder, který obsahuje výstup skriptu Hive, který se spouštěl jako součást kanálu.
Zobrazí se kontejner <linked-service-name> - <timestamp> adfhdidatafactory-. Tento kontejner je výchozím umístěním úložiště clusteru HDInsight, který se vytvořil jako součást spuštění kanálu.
Zobrazí se kontejner adfjobs, který obsahuje Azure Data Factory úlohy.
Vyčištění prostředků
Při vytváření clusteru HDInsight na vyžádání nemusíte cluster HDInsight explicitně odstraňovat. Cluster se odstraní na základě konfigurace, kterou jste poskytli při vytváření kanálu. I po odstranění clusteru budou účty úložiště přidružené ke clusteru dál existovat. Toto chování je z návrhu, takže data můžete zachovat beze změny. Pokud ale nechcete data zachovat, můžete účet úložiště, který jste vytvořili, odstranit.
Nebo můžete odstranit celou skupinu prostředků, kterou jste vytvořili pro tento kurz. Tento proces odstraní účet úložiště a Azure Data Factory, které jste vytvořili.
Odstranění skupiny prostředků
Přihlaste se k portálu Azure Portal.
V levém podokně vyberte Skupiny prostředků.
Vyberte název skupiny prostředků, kterou jste vytvořili ve skriptu PowerShellu. Pokud máte v seznamu příliš mnoho skupin prostředků, použijte filtr. Otevře skupinu prostředků.
Na dlaždici Prostředky byste měli mít uvedený výchozí účet úložiště a datovou továrnu, pokud skupinu prostředků nesdílíte s jinými projekty.
Vyberte Odstranit skupinu prostředků. Tím se odstraní účet úložiště a data uložená v účtu úložiště.
Potvrďte odstranění zadáním názvu skupiny prostředků a pak vyberte Odstranit.
Další kroky
V tomto článku jste zjistili, jak pomocí Azure Data Factory vytvořit cluster HDInsight na vyžádání a spouštět Apache Hive úlohy. V dalším článku se dozvíte, jak vytvářet clustery HDInsight s vlastní konfigurací.