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.
Belangrijk
Azure Data Lake Analytics is op 29 februari 2024 buiten gebruik gesteld. Meer informatie vindt u in deze aankondiging.
Voor gegevensanalyse kan uw organisatie gebruikmaken van Azure Synapse Analytics- of Microsoft Fabric-.
In dit artikel wordt beschreven hoe u Azure Data Lake Analytics-accounts, gegevensbronnen, gebruikers en taken beheert met behulp van Azure PowerShell.
Vereiste voorwaarden
Opmerking
We raden u aan om de Azure Az PowerShell-module te gebruiken om met Azure te communiceren. Zie Azure PowerShell installeren om aan de slag te gaan. Om te leren hoe u naar de Az PowerShell-module kunt migreren, zie Migrate Azure PowerShell from AzureRM to Az.
Als u PowerShell wilt gebruiken met Data Lake Analytics, verzamelt u de volgende gegevens:
- Abonnements-id: de id van het Azure-abonnement dat uw Data Lake Analytics-account bevat.
- Resourcegroep: de naam van de Azure-resourcegroep die uw Data Lake Analytics-account bevat.
- Data Lake Analytics-accountnaam: de naam van uw Data Lake Analytics-account.
- Standaardnaam van Data Lake Store-account: elk Data Lake Analytics-account heeft een standaard Data Lake Store-account.
- Locatie: De locatie van uw Data Lake Analytics-account, zoals VS - oost 2 of andere ondersteunde locaties.
De PowerShell-fragmenten in deze zelfstudie gebruiken deze variabelen om deze informatie op te slaan
$subId = "<SubscriptionId>"
$rg = "<ResourceGroupName>"
$adla = "<DataLakeAnalyticsAccountName>"
$adls = "<DataLakeStoreAccountName>"
$location = "<Location>"
Meld u aan bij Azure
Aanmelden met interactieve gebruikersverificatie
Aanmelden met een abonnements-id of op abonnementsnaam
# Using subscription id
Connect-AzAccount -SubscriptionId $subId
# Using subscription name
Connect-AzAccount -SubscriptionName $subname
Verificatiecontext opslaan
De Connect-AzAccount cmdlet vraagt altijd om referenties. U kunt voorkomen dat u hierom wordt gevraagd met behulp van de volgende cmdlets:
# Save login session information
Save-AzAccounts -Path D:\profile.json
# Load login session information
Select-AzAccounts -Path D:\profile.json
Aanmelden met een Service Principal Identity (SPI)
$tenantid = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
$spi_appname = "appname"
$spi_appid = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
$spi_secret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
$pscredential = New-Object System.Management.Automation.PSCredential ($spi_appid, (ConvertTo-SecureString $spi_secret -AsPlainText -Force))
Login-AzAccount -ServicePrincipal -TenantId $tenantid -Credential $pscredential -Subscription $subid
Accounts beheren
Accounts weergeven
# List Data Lake Analytics accounts within the current subscription.
Get-AdlAnalyticsAccount
# List Data Lake Analytics accounts within a specific resource group.
Get-AdlAnalyticsAccount -ResourceGroupName $rg
Een account maken
Voor elk Data Lake Analytics-account is een Data Lake Store-standaardaccount vereist dat wordt gebruikt voor het opslaan van logboeken. U kunt een bestaand account opnieuw gebruiken of een account maken.
# Create a data lake store if needed, or you can re-use an existing one
New-AdlStore -ResourceGroupName $rg -Name $adls -Location $location
New-AdlAnalyticsAccount -ResourceGroupName $rg -Name $adla -Location $location -DefaultDataLake $adls
Verkrijg accountinformatie
Details krijgen over een account.
Get-AdlAnalyticsAccount -Name $adla
Controleren of er een account bestaat
Test-AdlAnalyticsAccount -Name $adla
Gegevensbronnen beheren
Azure Data Lake Analytics ondersteunt momenteel de volgende gegevensbronnen:
Elk Data Lake Analytics-account heeft een Data Lake Store-standaardaccount. Het Data Lake Store-standaardaccount wordt gebruikt voor het opslaan van metagegevens van taken en auditlogboeken voor taken.
Het standaard Data Lake Store-account zoeken
$adla_acct = Get-AdlAnalyticsAccount -Name $adla
$dataLakeStoreName = $adla_acct.DefaultDataLakeAccount
U vindt het standaard Data Lake Store-account door de lijst met gegevensbronnen te filteren op de IsDefault eigenschap:
Get-AdlAnalyticsDataSource -Account $adla | ? { $_.IsDefault }
Een gegevensbron toevoegen
# Add an additional Storage (Blob) account.
$AzureStorageAccountName = "<AzureStorageAccountName>"
$AzureStorageAccountKey = "<AzureStorageAccountKey>"
Add-AdlAnalyticsDataSource -Account $adla -Blob $AzureStorageAccountName -AccessKey $AzureStorageAccountKey
# Add an additional Data Lake Store account.
$AzureDataLakeStoreName = "<AzureDataLakeStoreAccountName"
Add-AdlAnalyticsDataSource -Account $adla -DataLakeStore $AzureDataLakeStoreName
Gegevensbronnen weergeven
# List all the data sources
Get-AdlAnalyticsDataSource -Account $adla
# List attached Data Lake Store accounts
Get-AdlAnalyticsDataSource -Account $adla | where -Property Type -EQ "DataLakeStore"
# List attached Storage accounts
Get-AdlAnalyticsDataSource -Account $adla | where -Property Type -EQ "Blob"
U-SQL-taken verzenden
Een tekenreeks verzenden als een U-SQL-taak
$script = @"
@a =
SELECT * FROM
(VALUES
("Contoso", 1500.0),
("Woodgrove", 2700.0)
) AS D( customer, amount );
OUTPUT @a
TO "/data.csv"
USING Outputters.Csv();
"@
$scriptpath = "d:\test.usql"
$script | Out-File $scriptpath
Submit-AdlJob -AccountName $adla -Script $script -Name "Demo"
Een bestand verzenden als een U-SQL-taak
$scriptpath = "d:\test.usql"
$script | Out-File $scriptpath
Submit-AdlJob -AccountName $adla –ScriptPath $scriptpath -Name "Demo"
Lijst met banen
De uitvoer bevat de momenteel actieve taken en de taken die onlangs zijn voltooid.
Get-AdlJob -Account $adla
De belangrijkste N-taken weergeven
Standaard wordt de lijst met taken gesorteerd op verzendtijd. De meest recent ingediende taken worden dus eerst weergegeven. Het ADLA-account onthoudt standaard taken gedurende 180 dagen, maar de Get-AdlJob cmdlet retourneert standaard alleen de eerste 500. Gebruik -Top parameter om een specifiek aantal taken weer te geven.
$jobs = Get-AdlJob -Account $adla -Top 10
Taken weergeven op taakstatus
Gebruik de -State parameter. U kunt een van deze waarden combineren:
AcceptedCompilingEndedNewPausedQueuedRunningSchedulingStart
# List the running jobs
Get-AdlJob -Account $adla -State Running
# List the jobs that have completed
Get-AdlJob -Account $adla -State Ended
# List the jobs that have not started yet
Get-AdlJob -Account $adla -State Accepted,Compiling,New,Paused,Scheduling,Start
Taken weergeven op taakresultaat
Gebruik de -Result parameter om te detecteren of beëindigde taken zijn voltooid. Het heeft deze waarden:
- Geannuleerd
- Mislukt
- Geen
- Gelukt
# List Successful jobs.
Get-AdlJob -Account $adla -State Ended -Result Succeeded
# List Failed jobs.
Get-AdlJob -Account $adla -State Ended -Result Failed
Taken weergeven per taak-inzender
Met de -Submitter parameter kunt u identificeren wie een taak heeft ingediend.
Get-AdlJob -Account $adla -Submitter "joe@contoso.com"
Taken sorteren op indieningstijd
Dit -SubmittedAfter is handig bij het filteren naar een tijdsbereik.
# List jobs submitted in the last day.
$d = [DateTime]::Now.AddDays(-1)
Get-AdlJob -Account $adla -SubmittedAfter $d
# List jobs submitted in the last seven day.
$d = [DateTime]::Now.AddDays(-7)
Get-AdlJob -Account $adla -SubmittedAfter $d
Taakstatus ophalen
De status van een specifieke taak ophalen.
Get-AdlJob -AccountName $adla -JobId $job.JobId
Een taak annuleren
Stop-AdlJob -Account $adla -JobID $jobID
Wacht totdat een taak is voltooid
In plaats van te Get-AdlAnalyticsJob herhalen totdat een taak is voltooid, kunt u de Wait-AdlJob cmdlet gebruiken om te wachten tot de taak is beëindigd.
Wait-AdlJob -Account $adla -JobId $job.JobId
Werkpijplijnen en herhalingen weergeven
Gebruik de Get-AdlJobPipeline cmdlet om de pijplijninformatie van eerder ingediende taken te bekijken.
$pipelines = Get-AdlJobPipeline -Account $adla
$pipeline = Get-AdlJobPipeline -Account $adla -PipelineId "<pipeline ID>"
Gebruik de Get-AdlJobRecurrence cmdlet om de terugkeergegevens voor eerder ingediende taken te bekijken.
$recurrences = Get-AdlJobRecurrence -Account $adla
$recurrence = Get-AdlJobRecurrence -Account $adla -RecurrenceId "<recurrence ID>"
Rekenbeleid beheren
Bestaand rekenbeleid weergeven
De Get-AdlAnalyticsComputePolicy cmdlet haalt informatie op over rekenbeleid voor een Data Lake Analytics-account.
$policies = Get-AdlAnalyticsComputePolicy -Account $adla
Een rekenbeleid maken
De New-AdlAnalyticsComputePolicy cmdlet maakt een nieuw rekenbeleid voor een Data Lake Analytics-account. In dit voorbeeld wordt het maximum aantal AU's ingesteld dat beschikbaar is voor de opgegeven gebruiker op 50 en de minimale taakprioriteit op 250.
$userObjectId = (Get-AzAdUser -SearchString "garymcdaniel@contoso.com").Id
New-AdlAnalyticsComputePolicy -Account $adla -Name "GaryMcDaniel" -ObjectId $objectId -ObjectType User -MaxDegreeOfParallelismPerJob 50 -MinPriorityPerJob 250
Bestanden beheren
Controleren op het bestaan van een bestand
Test-AdlStoreItem -Account $adls -Path "/data.csv"
Uploaden en downloaden
Een bestand uploaden.
Import-AdlStoreItem -AccountName $adls -Path "c:\data.tsv" -Destination "/data_copy.csv"
Upload een hele map recursief.
Import-AdlStoreItem -AccountName $adls -Path "c:\myData\" -Destination "/myData/" -Recurse
Download een bestand.
Export-AdlStoreItem -AccountName $adls -Path "/data.csv" -Destination "c:\data.csv"
Een hele map recursief downloaden.
Export-AdlStoreItem -AccountName $adls -Path "/" -Destination "c:\myData\" -Recurse
Opmerking
Als het upload- of downloadproces wordt onderbroken, kunt u proberen het proces te hervatten door de cmdlet opnieuw uit te voeren met de -Resume vlag.
De U-SQL-catalogus beheren
De U-SQL-catalogus wordt gebruikt om gegevens en code te structuren, zodat ze kunnen worden gedeeld door U-SQL-scripts. De catalogus maakt de hoogst mogelijke prestaties mogelijk met gegevens in Azure Data Lake. Zie U-SQL-catalogus gebruiken voor meer informatie.
Lijstitems in de U-SQL-catalogus
# List U-SQL databases
Get-AdlCatalogItem -Account $adla -ItemType Database
# List tables within a database
Get-AdlCatalogItem -Account $adla -ItemType Table -Path "database"
# List tables within a schema.
Get-AdlCatalogItem -Account $adla -ItemType Table -Path "database.schema"
Alle assembly's van de U-SQL-catalogus weergeven
$dbs = Get-AdlCatalogItem -Account $adla -ItemType Database
foreach ($db in $dbs)
{
$asms = Get-AdlCatalogItem -Account $adla -ItemType Assembly -Path $db.Name
foreach ($asm in $asms)
{
$asmname = "[" + $db.Name + "].[" + $asm.Name + "]"
Write-Host $asmname
}
}
Meer informatie over een catalogusitem
# Get details of a table
Get-AdlCatalogItem -Account $adla -ItemType Table -Path "master.dbo.mytable"
# Test existence of a U-SQL database.
Test-AdlCatalogItem -Account $adla -ItemType Database -Path "master"
Referenties opslaan in de catalogus
Maak in een U-SQL-database een referentieobject voor een database die wordt gehost in Azure. Momenteel zijn U-SQL-referenties het enige type catalogusitem dat u kunt maken via PowerShell.
$dbName = "master"
$credentialName = "ContosoDbCreds"
$dbUri = "https://contoso.database.windows.net:8080"
New-AdlCatalogCredential -AccountName $adla `
-DatabaseName $db `
-CredentialName $credentialName `
-Credential (Get-Credential) `
-Uri $dbUri
Firewallregels beheren
Firewallregels vermelden
Get-AdlAnalyticsFirewallRule -Account $adla
Een firewallregel toevoegen
$ruleName = "Allow access from on-prem server"
$startIpAddress = "<start IP address>"
$endIpAddress = "<end IP address>"
Add-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName -StartIpAddress $startIpAddress -EndIpAddress $endIpAddress
Een firewallregel wijzigen
Set-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName -StartIpAddress $startIpAddress -EndIpAddress $endIpAddress
Een firewallregel verwijderen
Remove-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName
Azure IP-adressen toestaan
Set-AdlAnalyticsAccount -Name $adla -AllowAzureIpState Enabled
Set-AdlAnalyticsAccount -Name $adla -FirewallState Enabled
Set-AdlAnalyticsAccount -Name $adla -FirewallState Disabled
Werken met Azure
Foutdetails ophalen
Resolve-AzError -Last
Controleer of u als beheerder werkt op uw Windows-computer
function Test-Administrator
{
$user = [Security.Principal.WindowsIdentity]::GetCurrent();
$p = New-Object Security.Principal.WindowsPrincipal $user
$p.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
}
Een tenant-id zoeken
Op basis van de naam van een abonnement:
function Get-TenantIdFromSubscriptionName( [string] $subname )
{
$sub = (Get-AzSubscription -SubscriptionName $subname)
$sub.TenantId
}
Get-TenantIdFromSubscriptionName "ADLTrainingMS"
Op basis van een abonnements-id:
function Get-TenantIdFromSubscriptionId( [string] $subid )
{
$sub = (Get-AzSubscription -SubscriptionId $subid)
$sub.TenantId
}
$subid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Get-TenantIdFromSubscriptionId $subid
Van een domeinadres zoals 'contoso.com'
function Get-TenantIdFromDomain( $domain )
{
$url = "https://login.windows.net/" + $domain + "/.well-known/openid-configuration"
return (Invoke-WebRequest $url|ConvertFrom-Json).token_endpoint.Split('/')[3]
}
$domain = "contoso.com"
Get-TenantIdFromDomain $domain
Een lijst weergeven van al uw abonnementen en tenant-id's
$subs = Get-AzSubscription
foreach ($sub in $subs)
{
Write-Host $sub.Name "(" $sub.Id ")"
Write-Host "`tTenant Id" $sub.TenantId
}
Volgende stappen
- Overzicht van Microsoft Azure Data Lake Analytics-
- Aan de slag met Data Lake Analytics met behulp van Azure Portal | Azure PowerShell | Azure CLI
- Azure Data Lake Analytics beheren met behulp van Azure Portal | Azure PowerShell | CLI