Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze zelfstudie leert u hoe u een Apache Hadoop-cluster op aanvraag maakt in Azure HDInsight met behulp van Azure Data Factory. Vervolgens gebruikt u gegevenspijplijnen in Azure Data Factory om Hive-taken uit te voeren en het cluster te verwijderen. Aan het einde van deze zelfstudie leert u hoe operationalize u een big data-taak uitvoert waarin het maken, uitvoeren van een taak en het verwijderen van clusters volgens een planning worden uitgevoerd.
In deze handleiding worden de volgende taken behandeld:
- Een Azure-opslagaccount maken
- Inzicht in Azure Data Factory-activiteit
- Een data factory maken met behulp van Azure Portal
- Gekoppelde services maken
- Een pijplijn maken
- Een pijplijn activeren
- Een pijplijn bewaken
- De uitvoer controleren
Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.
Vereiste voorwaarden
De PowerShell Az-module is geïnstalleerd.
Een Microsoft Entra-service-principal. Nadat u de service-principal hebt gemaakt, moet u de toepassings-id en verificatiesleutel ophalen met behulp van de instructies in het gekoppelde artikel. U hebt deze waarden later in deze zelfstudie nodig. Zorg er ook voor dat de service-principal lid is van de rol Inzender van het abonnement of de resourcegroep waarin het cluster wordt gemaakt. Zie Een Microsoft Entra-service-principal maken voor instructies voor het ophalen van de vereiste waarden en het toewijzen van de juiste rollen.
Voorlopige Azure-objecten maken
In deze sectie maakt u verschillende objecten die worden gebruikt voor het HDInsight-cluster dat u op aanvraag maakt. Het gemaakte opslagaccount bevat het HiveQL-voorbeeldscript, partitionweblogs.hqldat u gebruikt om een Apache Hive-voorbeeldtaak te simuleren die wordt uitgevoerd op het cluster.
In deze sectie wordt een Azure PowerShell-script gebruikt om het opslagaccount te maken en de vereiste bestanden in het opslagaccount te kopiëren. Het Azure PowerShell-voorbeeldscript in deze sectie voert de volgende taken uit:
- Meldt u aan bij Azure.
- Hiermee maakt u een Azure-resourcegroep.
- Hiermee wordt een Azure Storage-account gemaakt.
- Hiermee maakt u een Blob-container in het opslagaccount
- Kopieert het HiveQL-voorbeeldscript (partitionweblogs.hql) naar de Blob-container. Het voorbeeldscript is al beschikbaar in een andere openbare Blob-container. Met het onderstaande PowerShell-script wordt een kopie van deze bestanden aangemaakt in het Azure Storage-account dat het aanmaakt.
Opslagaccount maken en bestanden kopiëren
Belangrijk
Geef namen op voor de Azure-resourcegroep en het Azure-opslagaccount dat door het script wordt gemaakt. Noteer de naam van de resourcegroep, de naam van het opslagaccount en de sleutel van het opslagaccount die door het script wordt uitgevoerd. U hebt ze nodig in de volgende sectie.
$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
Opslagaccount controleren
- Meld u aan bij Azure Portal.
- Navigeer aan de linkerkant naar Alle services>Algemene>resourcegroepen.
- Selecteer de naam van de resourcegroep die u hebt gemaakt in uw PowerShell-script. Gebruik het filter als er te veel resourcegroepen worden vermeld.
- In de weergave Overzicht ziet u één resource die wordt vermeld, tenzij u de resourcegroep met andere projecten deelt. Deze resource is het opslagaccount met de naam die u eerder hebt opgegeven. Selecteer de naam van het opslagaccount.
- Selecteer de tegel Containers .
- Selecteer de adfgetstarted container. U ziet een map met de naam
hivescripts. - Open de map en controleer of deze het voorbeeldscriptbestand partitionweblogs.hql bevat.
Inzicht in de Azure Data Factory-activiteit
Azure Data Factory organiseert en automatiseert het verplaatsen en transformeren van gegevens. Azure Data Factory kan just-in-time een HDInsight Hadoop-cluster maken om een invoergegevenssegment te verwerken en het cluster te verwijderen wanneer de verwerking is voltooid.
In Azure Data Factory kan een data factory een of meer gegevenspijplijnen hebben. Een gegevenspijplijn heeft een of meer activiteiten. Er zijn twee soorten activiteiten:
- Activiteiten voor gegevensverplaatsing. U gebruikt activiteiten voor gegevensverplaatsing om gegevens van een brongegevensarchief naar een doelgegevensarchief te verplaatsen.
- Activiteiten voor gegevenstransformatie. U gebruikt activiteiten voor gegevenstransformatie om gegevens te transformeren/verwerken. HDInsight Hive-activiteit is een van de transformatieactiviteiten die worden ondersteund door Data Factory. In deze zelfstudie gebruikt u de Hive-transformatieactiviteit.
In dit artikel configureert u de Hive-activiteit om een HDInsight Hadoop-cluster op aanvraag te maken. Wanneer de activiteit wordt uitgevoerd om gegevens te verwerken, gebeurt het volgende:
Er wordt automatisch een HDInsight Hadoop-cluster gemaakt om het gegevenssegment tijdig te verwerken.
De invoergegevens worden verwerkt door een HiveQL-script uit te voeren op het cluster. In deze zelfstudie voert het HiveQL-script dat is gekoppeld aan de hive-activiteit de volgende acties uit:
- Maakt gebruik van de bestaande tabel (hivesampletable) om een andere tabel HiveSampleOut te maken.
- Hiermee wordt de tabel HiveSampleOut gevuld met alleen specifieke kolommen uit de oorspronkelijke hivesampletable.
Het HDInsight Hadoop-cluster wordt verwijderd nadat de verwerking is voltooid en het cluster inactief is voor de geconfigureerde hoeveelheid tijd (timeToLive-instelling). Als het volgende gegevenssegment beschikbaar is voor verwerking met in deze timeToLive niet-actieve tijd, wordt hetzelfde cluster gebruikt om het segment te verwerken.
Een data factory maken
Meld u aan bij het Azure-portaal.
Navigeer in het linkermenu naar
+ Create a resource>Analytics>Data Factory.
Voer de volgende waarden in of selecteer deze voor het onderdeel Nieuwe data factory :
Vastgoed Waarde Naam Voer een naam in voor de data factory. Deze naam moet wereldwijd uniek zijn. Versie Vertrek bij V2. Subscription Selecteer uw Azure-abonnement. Bronnengroep Selecteer de resourcegroep die u hebt gemaakt met behulp van het PowerShell-script. Locatie De locatie wordt automatisch ingesteld op de locatie die u hebt opgegeven tijdens het maken van de resourcegroep eerder. Voor deze zelfstudie is de locatie ingesteld op VS - oost. GIT inschakelen Schakel dit selectievakje uit.
Klik op Creëren. Het maken van een data factory kan 2 tot 4 minuten duren.
Zodra de data factory is gemaakt, ontvangt u een melding dat de implementatie is voltooid met de knop Ga naar de resource . Selecteer Ga naar de resource om de standaardweergave van Data Factory te openen.
Selecteer Author & Monitor om de Azure Data Factory-ontwerp- en bewakingsportal te starten.
Gekoppelde services maken
In dit gedeelte maakt u twee gekoppelde diensten in uw data factory.
- Een gekoppelde Azure Storage-service waarmee een Azure-opslagaccount wordt gekoppeld aan de gegevensfactory. Deze opslag wordt gebruikt voor het HDInsight-cluster op aanvraag. Het bevat ook het Hive-script dat wordt uitgevoerd op het cluster.
- Een gekoppelde HDInsight-service op aanvraag. Azure Data Factory maakt automatisch een HDInsight-cluster en voert het Hive-script uit. Het HDInsight-cluster wordt vervolgens verwijderd als het cluster gedurende een vooraf geconfigureerde tijd inactief is geweest.
Een gekoppelde Azure Storage-service maken
Selecteer in het linkerdeelvenster van de pagina Aan de slag het pictogram Auteur .
Selecteer Verbindingen in de linkerbenedenhoek van het venster en selecteer vervolgens +Nieuw.
Selecteer Azure Blob Storage in het dialoogvenster Nieuwe gekoppelde service en selecteer vervolgens Doorgaan.
Geef de volgende waarden op voor de gekoppelde opslagservice:
Vastgoed Waarde Naam Voer HDIStorageLinkedServicein.Azure-abonnement Selecteer uw abonnement in de vervolgkeuzelijst. Naam van het opslagaccount Selecteer het Azure Storage-account dat u hebt gemaakt als onderdeel van het PowerShell-script. Selecteer Verbinding testen en selecteer vervolgens Maken als dit is gelukt.
Een gekoppelde HDInsight-service op aanvraag maken
Selecteer nogmaals de knop + Nieuw om een andere gekoppelde service te maken.
Selecteer in het venster Nieuwe gekoppelde service het tabblad Compute .
Selecteer Azure HDInsight en selecteer vervolgens Doorgaan.
Voer in het venster Nieuwe gekoppelde service de volgende waarden in en laat de rest standaard staan:
Vastgoed Waarde Naam Voer HDInsightLinkedServicein.Typologie Selecteer HDInsight op aanvraag. Gekoppelde Azure Storage-service Selecteer HDIStorageLinkedService.Clustertype Hadoop selecteren Tijd om te leven Geef de duur op waarvoor het HDInsight-cluster beschikbaar moet zijn voordat u het automatisch verwijdert. Service-principal-id Geef de toepassings-id op van de Microsoft Entra-service-principal die u hebt gemaakt als onderdeel van de vereisten. Sleutel van de service-principal Geef de verificatiesleutel op voor de Microsoft Entra-service-principal. Clusternaamvoorvoegsel Geef een waarde op die wordt voorafgegaan door alle clustertypen die door de data factory zijn gemaakt. Subscription Selecteer uw abonnement in de vervolgkeuzelijst. Resourcegroep selecteren Selecteer de resourcegroep die u hebt gemaakt als onderdeel van het PowerShell-script dat u eerder hebt gebruikt. Type besturingssysteem/SSH-gebruikersnaam van cluster Voer meestal sshusereen SSH-gebruikersnaam in.SSH-wachtwoord voor het besturingssysteem/cluster Geef een wachtwoord op voor de SSH-gebruiker Gebruikersnaam van besturingssysteem/cluster Voer meestal admineen gebruikersnaam voor een cluster in.Type besturingssysteem/clusterwachtwoord Geef een wachtwoord op voor de clustergebruiker. Klik vervolgens op Maken.
Een pijplijn maken
Selecteer de + knop (plus) en selecteer vervolgens Pijplijn.
Vouw HDInsight uit in de werkset Activiteiten en sleep de Hive-activiteit naar het ontwerpoppervlak voor pijplijnen. Geef op het tabblad Algemeen een naam op voor de activiteit.
Zorg ervoor dat u de Hive-activiteit hebt geselecteerd en selecteer het tabblad HDI-cluster . Selecteer in de vervolgkeuzelijst Gekoppelde HDInsight-service de gekoppelde service die u eerder hebt gemaakt, HDInsightLinkedService voor HDInsight.
Selecteer het tabblad Script en voer de volgende stappen uit:
Selecteer HDIStorageLinkedService in de vervolgkeuzelijst voor de gekoppelde scriptservice. Deze waarde is de gekoppelde opslagservice die u eerder hebt gemaakt.
Selecteer Bestandspad en kies Blader opslag om naar de locatie te navigeren waar het Hive-voorbeeldscript beschikbaar is. Als u het PowerShell-script eerder hebt uitgevoerd, moet deze locatie zijn
adfgetstarted/hivescripts/partitionweblogs.hql.
Selecteer onder Geavanceerde>parameters de optie
Auto-fill from script. Met deze optie wordt gezocht naar parameters in het Hive-script waarvoor waarden tijdens runtime zijn vereist.Voeg in het tekstvak waarde de bestaande map toe in de indeling
wasbs://adfgetstarted@<StorageAccount>.blob.core.windows.net/outputfolder/. Het pad is hoofdlettergevoelig. In dit pad wordt de uitvoer van het script opgeslagen. Hetwasbsschema is nodig omdat opslagaccounts nu standaard beveiligde overdracht hebben ingeschakeld.
Selecteer Valideren om de pijplijn te valideren. Selecteer de >> (pijl-rechts) om het validatievenster te sluiten.
Kies tot slot Alles publiceren om de artefacten in Azure Data Factory te publiceren.
Een pijplijn activeren
Selecteer Trigger toevoegen> en daarna Nu Triggeren in de werkbalk op het ontwerpoppervlak.
Selecteer OK in de pop-up-zijbalk.
Een pijplijn bewaken
Ga naar het tabblad Controleren aan de linkerkant. U ziet een pijplijn die worden uitgevoerd in de lijst Pipeline Runs. Let op de status van de uitvoering onder de kolom Status .
Selecteer Vernieuwen om de status te vernieuwen.
U kunt ook het pictogram Activiteituitvoeringen bekijken selecteren om de activiteituitvoering die aan de pijplijn is gekoppeld te zien. In de onderstaande schermopname ziet u slechts één activiteitsuitvoering, omdat er slechts één activiteit is in de pijplijn die u hebt gemaakt. Als u wilt teruggaan naar de vorige weergave, selecteert u Pijplijnen boven aan de pagina.
De uitvoer controleren
Als u de uitvoer wilt controleren, gaat u in Azure Portal naar het opslagaccount dat u voor deze zelfstudie hebt gebruikt. U ziet nu de volgende mappen of containers:
U ziet een adfgerstarted/outputfolder die de uitvoer bevat van het Hive-script dat is uitgevoerd als onderdeel van de pijplijn.
U ziet een adfhdidatafactory-<linked-service-name->timestamp-<container>. Deze container is de standaardopslaglocatie van het HDInsight-cluster dat is gemaakt als onderdeel van de pijplijnuitvoering.
U ziet een adfjobs-container met de Azure Data Factory-taaklogboeken.
De hulpbronnen opschonen
Wanneer het HDInsight-cluster op aanvraag is gemaakt, hoeft u het HDInsight-cluster niet expliciet te verwijderen. Het cluster wordt verwijderd op basis van de configuratie die u hebt opgegeven tijdens het maken van de pijplijn. Zelfs nadat het cluster is verwijderd, blijven de opslagaccounts die aan het cluster zijn gekoppeld, bestaan. Dit gedrag is standaard, zodat u uw gegevens intact kunt houden. Als u de gegevens echter niet wilt behouden, kunt u het opslagaccount verwijderen dat u hebt gemaakt.
U kunt de volledige resourcegroep verwijderen die u voor deze tutorial hebt aangemaakt. Met dit proces worden het opslagaccount en de Azure Data Factory verwijderd die u hebt gemaakt.
De resourcegroep verwijderen
Meld u aan bij Azure Portal.
Selecteer Resourcegroepen in het linkerdeelvenster.
Selecteer de naam van de resourcegroep die u hebt gemaakt in uw PowerShell-script. Gebruik het filter als er te veel resourcegroepen worden vermeld. De resourcegroep wordt geopend.
Op de tegel Resources hebt u het standaardopslagaccount en de data factory vermeld, tenzij u de resourcegroep met andere projecten deelt.
Selecteer Resourcegroep verwijderen. Als u dit doet, worden het opslagaccount en de gegevens verwijderd die zijn opgeslagen in het opslagaccount.
Voer de naam van de resourcegroep in om het verwijderen te bevestigen en selecteer Vervolgens Verwijderen.
Volgende stappen
In dit artikel hebt u geleerd hoe u Azure Data Factory gebruikt om een HDInsight-cluster op aanvraag te maken en Apache Hive-taken uit te voeren. Ga naar het volgende artikel voor meer informatie over het maken van HDInsight-clusters met aangepaste configuratie.