Kurz: Vytváření clusterů Apache Hadoop na vyžádání ve službě HDInsight pomocí služby Azure Data Factory

V tomto kurzu se naučíte vytvořit cluster Apache Hadoop na vyžádání ve službě Azure HDInsight pomocí služby Azure Data Factory. Potom pomocí datových kanálů ve službě Azure Data Factory spustíte úlohy Hive a odstraníte cluster. Na konci tohoto kurzu se dozvíte, jak spustit operationalize úlohu s velkými objemy dat, ve které se provádí vytváření clusteru, spuštění úlohy a odstranění clusteru podle plánu.

Tento kurz se zabývá následujícími úkony:

  • Vytvoření účtu úložiště Azure
  • Vysvětlení aktivity služby Azure Data Factory
  • Vytvoření datové továrny pomocí webu Azure Portal
  • Vytvoření propojených služeb
  • Vytvořit kanál
  • Aktivace kanálu
  • Monitorování kanálu
  • Ověření výstupu

Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Požadavky

  • Nainstalovaný modul Az PowerShellu.

  • Instanční objekt Microsoft Entra. Po vytvoření instančního objektu nezapomeňte pomocí pokynů v propojeném článku načíst ID aplikace a ověřovací klíč . Tyto hodnoty budete potřebovat později v tomto kurzu. Také se ujistěte, že instanční objekt je členem role Přispěvatel předplatného nebo skupiny prostředků, ve které je cluster vytvořen. Pokyny k načtení požadovaných hodnot a přiřazení správných rolí naleznete v tématu Vytvoření instančního objektu Microsoft Entra.

Vytvoření předběžných objektů Azure

V této části vytvoříte různé objekty, které se použijí pro cluster HDInsight, který vytvoříte na vyžádání. Vytvořený účet úložiště bude obsahovat ukázkový skript HiveQL, partitionweblogs.hqlkterý použijete k simulaci ukázkové úlohy Apache Hive, která běží v clusteru.

Tato část používá skript Azure PowerShellu 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 PowerShellu v této části provede následující úlohy:

  1. Přihlásí se k Azure.
  2. Vytvoří skupinu prostředků Azure.
  3. Vytvoří účet služby Azure Storage.
  4. Vytvoří v účtu úložiště kontejner objektů blob.
  5. Zkopíruje ukázkový skript HiveQL (partitionweblogs.hql) kontejner objektů blob. Ukázkový skript je již k dispozici v jiném veřejném kontejneru objektů blob. Následující skript PowerShellu vytvoří kopii těchto souborů do účtu 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 vytvořen skriptem. Poznamenejte si název skupiny prostředků, název účtu úložiště a klíč účtu úložiště, který skript vypíše. 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ěření účtu úložiště

  1. Přihlaste se k portálu Azure Portal.
  2. Zleva přejděte na Všechny služby>Obecné>skupiny prostředků.
  3. Vyberte název skupiny prostředků, kterou jste vytvořili ve skriptu PowerShellu. Filtr použijte, pokud máte v seznamu příliš mnoho skupin prostředků.
  4. V zobrazení Přehled uvidíte jeden z uvedených zdrojů, pokud skupinu prostředků nesdílíte 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ě.
  5. Vyberte dlaždici Kontejnery .
  6. Vyberte kontejner adfgetstarted. Zobrazí se složka s názvem hivescripts.
  7. Otevřete složku a ujistěte se, že obsahuje ukázkový soubor skriptu partitionweblogs.hql.

Vysvětlení aktivity služby Azure Data Factory

Azure Data Factory orchestruje a automatizuje přesun a transformaci dat. Azure Data Factory může vytvořit cluster HDInsight Hadoop just-in-time pro zpracování vstupního datového řezu a po dokončení zpracování cluster odstranit.

Ve službě Azure Data Factory může datová továrna obsahovat jeden nebo více datových kanálů. Datový kanál má 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 a zpracování dat. Aktivita HIVe služby HDInsight je jednou z transformačních aktivit podporovaných službou Data Factory. V tomto kurzu použijete aktivitu transformace Hive.

V tomto článku nakonfigurujete aktivitu Hive tak, aby vytvořila cluster HDInsight Hadoop na vyžádání. Když se aktivita spustí ke zpracování dat, stane se toto:

  1. Cluster HDInsight Hadoop se automaticky vytvoří, abyste mohli řez zpracovat za běhu.

  2. Vstupní data se zpracovávají spuštěním skriptu HiveQL v clusteru. V tomto kurzu skript HiveQL přidružený k aktivitě Hive provede následující akce:

    • Použije existující tabulku (hivesampletable) k vytvoření další tabulky HiveSampleOut.
    • Naplní tabulku HiveSampleOut pouze konkrétními sloupci z původního hivesampletable.
  3. Cluster HDInsight Hadoop se po dokončení zpracování odstraní a cluster je nečinný po nakonfigurovanou dobu (nastavení timeToLive). Pokud je k dispozici další řez dat ke zpracování s tímto časem nečinnostiToLive, použije se ke zpracování řezu stejný cluster.

Vytvoření datové továrny

  1. Přihlaste se k portálu Azure.

  2. V nabídce vlevo přejděte do + Create a resource>služby Analytics>Data Factory.

    Azure Data Factory on the portal.

  3. Zadejte nebo vyberte následující hodnoty pro dlaždici Nová datová továrna :

    Vlastnost Hodnota
    Name Zadejte název datové továrny. Tento název musí být globálně jedinečný.
    Verze Odejděte ve verzi 2.
    Předplatné Vyberte své předplatné Azure.
    Skupina zdrojů Vyberte skupinu prostředků, kterou jste vytvořili pomocí skriptu PowerShellu.
    Umístění Umístění se automaticky nastaví na umístění, které jste zadali při vytváření skupiny prostředků dříve. Pro účely tohoto kurzu je umístění nastavené na USA – východ.
    Povolení GITu Zrušte zaškrtnutí tohoto políčka.

    Create Azure Data Factory using Azure portal.

  4. Vyberte Vytvořit. Vytvoření datové továrny může trvat 2 až 4 minuty.

  5. Po vytvoření datové továrny obdržíte oznámení o úspěšném nasazení s tlačítkem Přejít k prostředku . Výběrem možnosti Přejít k prostředku otevřete výchozí zobrazení služby Data Factory.

  6. Výběrem možnosti Vytvořit a monitorovat spusťte portál pro vytváření a monitorování služby Azure Data Factory.

    Azure Data Factory portal overview.

Vytvoření propojených služeb

V této části vytvoříte dvě propojené služby v datové továrně.

  • 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ý běží 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

  1. V levém podokně stránky Začínáme vyberte ikonu Autor .

    Create an Azure Data Factory linked service.

  2. V levém dolním rohu okna vyberte Připojení iony a pak vyberte +Nový.

    Create connections in Azure Data Factory.

  3. V dialogovém okně Nová propojená služba vyberte Azure Blob Storage a pak vyberte Pokračovat.

    Create Azure Storage linked service for Data Factory.

  4. Zadejte následující hodnoty pro propojenou službu úložiště:

    Vlastnost Hodnota
    Name 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.

    Provide name for Azure Storage linked service.

Vytvoření propojené služby HDInsight na vyžádání

  1. Znovu vyberte tlačítko + Nová a vytvořte další propojenou službu.

  2. V okně Nová propojená služba vyberte kartu Výpočty .

  3. Vyberte Azure HDInsight a pak vyberte Pokračovat.

    Create HDInsight linked service for Azure Data Factory.

  4. V okně Nová propojená služba zadejte následující hodnoty a zbytek ponechte jako výchozí:

    Vlastnost Hodnota
    Name Zadejte HDInsightLinkedService.
    Typ Vyberte HDInsight na vyžádání.
    Propojená služba Azure Storage Vyberte možnost HDIStorageLinkedService.
    Typ clusteru Výběr hadoopu
    Hodnota TTL (Time to Live) Zadejte dobu, po kterou chcete, aby byl cluster HDInsight před automatickým odstraněním dostupný.
    ID instančního objektu Zadejte ID aplikace instančního objektu Microsoft Entra, který jste vytvořili jako součást požadavků.
    Klíč instančního objektu Zadejte ověřovací klíč pro instanční objekt Microsoft Entra.
    Předpona názvu clusteru Zadejte hodnotu, která bude mít předponu všech typů clusterů vytvořených objektem pro vytváření dat.
    Předplatné V rozevíracím seznamu vyberte své předplatné.
    Select resource group 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 nebo heslo SSH clusteru Zadání hesla 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 nebo heslo clusteru Zadejte heslo pro uživatele clusteru.

    Pak vyberte Vytvořit.

    Provide values for HDInsight linked service.

Vytvořit kanál

  1. Vyberte tlačítko + (plus) a pak vyberte Kanál.

    Create a pipeline in Azure Data Factory.

  2. 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.

    Add activities to Data Factory pipeline.

  3. Ujistěte se, že máte vybranou aktivitu Hive, vyberte kartu Cluster HDI. V rozevíracím seznamu propojené služby HDInsight vyberte propojenou službu, kterou jste vytvořili dříve, HDInsightLinkedService pro HDInsight.

    Provide HDInsight cluster details for the pipeline.

  4. Vyberte kartu Skript a proveďte následující kroky:

    1. V části Propojená služba skriptu vyberte z rozevíracího seznamu službu HDIStorageLinkedService . Tato hodnota je propojená služba úložiště, kterou jste vytvořili dříve.

    2. V části Cesta 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 dříve spustili skript PowerShellu, mělo by toto umístění být adfgetstarted/hivescripts/partitionweblogs.hql.

      Provide Hive script details for the pipeline.

    3. 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.

    4. Do textového pole hodnoty 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éma wasbs je nezbytné, protože účty úložiště teď mají ve výchozím nastavení povolený zabezpečený přenos.

      Provide parameters for the Hive script.

  5. Vyberte Ověřit a ověřte kanál. Výběrem tlačítka >> (šipka doprava) zavřete okno ověřování.

    Validate the Azure Data Factory pipeline.

  6. Nakonec výběrem možnosti Publikovat vše publikujte artefakty do služby Azure Data Factory.

    Publish the Azure Data Factory pipeline.

Aktivace kanálu

  1. Na panelu nástrojů na ploše návrháře vyberte Přidat aktivační událost triggeru>Nyní.

    Trigger the Azure Data Factory pipeline.

  2. Na místním bočním panelu vyberte OK .

Monitorování kanálu

  1. 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 .

    Monitor the Azure Data Factory pipeline.

  2. Seznam můžete aktualizovat kliknutím na Aktualizovat.

  3. Můžete také vybrat ikonu Zobrazit spuštění aktivit a zobrazit spuštění aktivity přidružené ke kanálu. Na následujícím snímku obrazovky uvidíte jenom jedno spuštění aktivity, protože v kanálu, který jste vytvořili, je jenom jedna aktivita. Pokud chcete přepnout zpět na předchozí zobrazení, vyberte Kanály v horní části stránky.

    Monitor the Azure Data Factory pipeline activity.

Ověření výstupu

  1. Pokud chcete ověřit výstup, přejděte na webu Azure Portal k účtu úložiště, který jste použili pro účely tohoto kurzu. Měly by se zobrazit následující složky nebo kontejnery:

    • Zobrazí se adfgerstarted /outputfolder , který obsahuje výstup skriptu Hive, který byl spuštěn jako součást kanálu.

    • Zobrazí se kontejner adfhdidatafactory-linked-service-name-timestamp><<>. Tento kontejner je výchozí umístění úložiště clusteru HDInsight, který byl vytvořen jako součást spuštění kanálu.

    • Zobrazí se kontejner adfjobs , který obsahuje protokoly úloh služby Azure Data Factory.

      Verify the Azure Data Factory pipeline output.

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 zadali při vytváření kanálu. I po odstranění clusteru budou účty úložiště přidružené ke clusteru nadále existovat. Toto chování je záměrně, abyste mohli zachovat data beze změny. Pokud ale nechcete zachovat data, můžete odstranit účet úložiště, který jste vytvořili.

Nebo můžete odstranit celou skupinu prostředků, kterou jste vytvořili pro účely tohoto kurzu. Tento proces odstraní účet úložiště a službu Azure Data Factory, kterou jste vytvořili.

Odstranění skupiny prostředků

  1. Přihlaste se k portálu Azure Portal.

  2. V levém podokně vyberte skupiny prostředků.

  3. Vyberte název skupiny prostředků, kterou jste vytvořili ve skriptu PowerShellu. Filtr použijte, pokud máte v seznamu příliš mnoho skupin prostředků. Otevře skupinu prostředků.

  4. Na dlaždici Prostředky budete mít výchozí účet úložiště a datovou továrnu uvedenou, pokud skupinu prostředků nesdílíte s jinými projekty.

  5. Vyberte Odstranit skupinu prostředků. Tím se odstraní účet úložiště a data uložená v účtu úložiště.

    Azure portal delete resource group.

  6. Zadejte název skupiny prostředků, abyste potvrdili odstranění, a pak vyberte Odstranit.

Další kroky

V tomto článku jste zjistili, jak pomocí služby Azure Data Factory vytvořit cluster HDInsight na vyžádání a spustit úlohy Apache Hive. V dalším článku se dozvíte, jak vytvářet clustery HDInsight s vlastní konfigurací.