Správa Azure Data Lake Analytics pomocí Azure PowerShell
Důležité
Azure Data Lake Analytics vyřazena 29. února 2024. Další informace najdete v tomto oznámení.
Pro analýzu dat může vaše organizace používat Azure Synapse Analytics nebo Microsoft Fabric.
Tento článek popisuje, jak spravovat účty, zdroje dat, uživatele a úlohy Azure Data Lake Analytics pomocí Azure PowerShell.
Požadavky
Poznámka
Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Pokud chcete s Data Lake Analytics používat PowerShell, shromážděte následující informace:
- ID předplatného: ID předplatného Azure, které obsahuje váš účet Data Lake Analytics.
- Skupina prostředků: Název skupiny prostředků Azure, která obsahuje váš účet Data Lake Analytics.
- Data Lake Analytics název účtu: Název účtu Data Lake Analytics.
- Výchozí název účtu Data Lake Store: Každý účet Data Lake Analytics má výchozí účet Data Lake Store.
- Umístění: Umístění vašeho účtu Data Lake Analytics, například USA – východ 2 nebo jiná podporovaná umístění.
Fragment kódu PowerShellu v tomto kurzu používá následující proměnné k ukládání příslušných informací:
$subId = "<SubscriptionId>"
$rg = "<ResourceGroupName>"
$adla = "<DataLakeAnalyticsAccountName>"
$adls = "<DataLakeStoreAccountName>"
$location = "<Location>"
Přihlaste se k Azure.
Přihlášení pomocí interaktivního ověřování uživatelů
Přihlaste se pomocí ID předplatného nebo podle názvu předplatného.
# Using subscription id
Connect-AzAccount -SubscriptionId $subId
# Using subscription name
Connect-AzAccount -SubscriptionName $subname
Ukládá se kontext ověřování.
Rutina Connect-AzAccount
vždy vyzve k zadání přihlašovacích údajů. Zobrazení výzvy se můžete vyhnout pomocí následujících rutin:
# Save login session information
Save-AzAccounts -Path D:\profile.json
# Load login session information
Select-AzAccounts -Path D:\profile.json
Přihlášení pomocí identity instančního objektu (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
Správa účtů
Výpis účtů
# 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
Vytvoření účtu
Každý účet Data Lake Analytics vyžaduje výchozí účet Data Lake Store, který slouží k ukládání protokolů. Můžete znovu použít existující účet nebo vytvořit účet.
# 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
Získání informací o účtu
Získejte podrobnosti o účtu.
Get-AdlAnalyticsAccount -Name $adla
Kontrola, jestli existuje účet
Test-AdlAnalyticsAccount -Name $adla
Správa zdrojů dat
Azure Data Lake Analytics v současné době podporuje následující zdroje dat:
Každý účet Data Lake Analytics má výchozí účet Data Lake Store. Výchozí účet Data Lake Store slouží k ukládání metadat úloh a protokolů auditu úloh.
Vyhledání výchozího účtu Data Lake Store
$adla_acct = Get-AdlAnalyticsAccount -Name $adla
$dataLakeStoreName = $adla_acct.DefaultDataLakeAccount
Výchozí účet Data Lake Store najdete filtrováním seznamu zdrojů dat podle IsDefault
vlastnosti:
Get-AdlAnalyticsDataSource -Account $adla | ? { $_.IsDefault }
Přidání zdroje dat
# 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
Výpis zdrojů dat
# 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"
Odesílání úloh U-SQL
Odeslání řetězce jako úlohy U-SQL
$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"
Odeslání souboru jako úlohy U-SQL
$scriptpath = "d:\test.usql"
$script | Out-File $scriptpath
Submit-AdlJob -AccountName $adla –ScriptPath $scriptpath -Name "Demo"
Výpis úloh
Výstup zahrnuje aktuálně spuštěné úlohy a nedávno dokončené úlohy.
Get-AdlJob -Account $adla
Výpis hlavních N úloh
Ve výchozím nastavení je seznam úloh seřazený podle času odeslání. Proto se jako první zobrazí naposledy odeslané úlohy. Ve výchozím nastavení si účet ADLA pamatuje úlohy po dobu 180 dnů, ale rutina Get-AdlJob ve výchozím nastavení vrátí jenom prvních 500. K výpisu určitého počtu úloh použijte parametr -Top.
$jobs = Get-AdlJob -Account $adla -Top 10
Výpis úloh podle stavu úlohy
Pomocí parametru -State
. Můžete zkombinovat libovolnou z těchto hodnot:
Accepted
Compiling
Ended
New
Paused
Queued
Running
Scheduling
Start
# 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
Výpis úloh podle výsledku úlohy
Pomocí parametru -Result
zjistěte, jestli se ukončené úlohy úspěšně dokončily. Má tyto hodnoty:
- Zrušeno
- Neúspěšný
- Žádné
- Úspěšný
# List Successful jobs.
Get-AdlJob -Account $adla -State Ended -Result Succeeded
# List Failed jobs.
Get-AdlJob -Account $adla -State Ended -Result Failed
Výpis úloh podle odesílejte
Parametr -Submitter
vám pomůže identifikovat, kdo odeslal úlohu.
Get-AdlJob -Account $adla -Submitter "joe@contoso.com"
Výpis úloh podle času odeslání
Funkce je -SubmittedAfter
užitečná při filtrování podle časového rozsahu.
# 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
Získání stavu úlohy
Získejte stav konkrétní úlohy.
Get-AdlJob -AccountName $adla -JobId $job.JobId
Zrušení úlohy
Stop-AdlJob -Account $adla -JobID $jobID
Čekání na dokončení úlohy
Místo opakování Get-AdlAnalyticsJob
, dokud se úloha nedokončí, můžete pomocí rutiny Wait-AdlJob
počkat, až úloha skončí.
Wait-AdlJob -Account $adla -JobId $job.JobId
Výpis kanálů úloh a opakování
Pomocí rutiny Get-AdlJobPipeline
můžete zobrazit informace o kanálu, které byly dříve odeslány.
$pipelines = Get-AdlJobPipeline -Account $adla
$pipeline = Get-AdlJobPipeline -Account $adla -PipelineId "<pipeline ID>"
Pomocí rutiny Get-AdlJobRecurrence
můžete zobrazit informace o opakování pro dříve odeslané úlohy.
$recurrences = Get-AdlJobRecurrence -Account $adla
$recurrence = Get-AdlJobRecurrence -Account $adla -RecurrenceId "<recurrence ID>"
Správa zásad výpočetních prostředků
Výpis existujících zásad výpočetních prostředků
Rutina Get-AdlAnalyticsComputePolicy
načte informace o zásadách výpočetních prostředků pro účet Data Lake Analytics.
$policies = Get-AdlAnalyticsComputePolicy -Account $adla
Vytvoření zásad výpočetních prostředků
Rutina New-AdlAnalyticsComputePolicy
vytvoří novou zásadu výpočetních prostředků pro účet Data Lake Analytics. Tento příklad nastaví maximální počet jednotek AU dostupných pro zadaného uživatele na 50 a minimální prioritu úlohy na 250.
$userObjectId = (Get-AzAdUser -SearchString "garymcdaniel@contoso.com").Id
New-AdlAnalyticsComputePolicy -Account $adla -Name "GaryMcDaniel" -ObjectId $objectId -ObjectType User -MaxDegreeOfParallelismPerJob 50 -MinPriorityPerJob 250
Správa souborů
Kontrola existence souboru
Test-AdlStoreItem -Account $adls -Path "/data.csv"
Nahrávání a stahování
Nahrajte soubor.
Import-AdlStoreItem -AccountName $adls -Path "c:\data.tsv" -Destination "/data_copy.csv"
Nahrajte rekurzivně celou složku.
Import-AdlStoreItem -AccountName $adls -Path "c:\myData\" -Destination "/myData/" -Recurse
Stáhněte si soubor.
Export-AdlStoreItem -AccountName $adls -Path "/data.csv" -Destination "c:\data.csv"
Rekurzivně stáhněte celou složku.
Export-AdlStoreItem -AccountName $adls -Path "/" -Destination "c:\myData\" -Recurse
Poznámka
Pokud dojde k přerušení procesu nahrávání nebo stahování, můžete se pokusit proces obnovit opětovným spuštěním rutiny s příznakem -Resume
.
Správa katalogu U-SQL
Katalog U-SQL slouží ke strukturování dat a kódu tak, aby je mohly sdílet skripty U-SQL. Katalog umožňuje nejvyšší možný výkon dat v Azure Data Lake. Další informace najdete v tématu Použití katalogu U-SQL.
Výpis položek v katalogu U-SQL
# 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"
Výpis všech sestavení katalogu U-SQL
$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
}
}
Získání podrobností o položce katalogu
# 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"
Uložení přihlašovacích údajů v katalogu
V databázi U-SQL vytvořte objekt přihlašovacích údajů pro databázi hostované v Azure. V současné době jsou přihlašovací údaje U-SQL jediným typem položky katalogu, kterou můžete vytvořit prostřednictvím PowerShellu.
$dbName = "master"
$credentialName = "ContosoDbCreds"
$dbUri = "https://contoso.database.windows.net:8080"
New-AdlCatalogCredential -AccountName $adla `
-DatabaseName $db `
-CredentialName $credentialName `
-Credential (Get-Credential) `
-Uri $dbUri
Správa pravidel firewallu
Výpis pravidel brány firewall
Get-AdlAnalyticsFirewallRule -Account $adla
Přidání pravidla brány firewall
$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
Úprava pravidla brány firewall
Set-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName -StartIpAddress $startIpAddress -EndIpAddress $endIpAddress
Odebrání pravidla brány firewall
Remove-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName
Povolit IP adresy Azure
Set-AdlAnalyticsAccount -Name $adla -AllowAzureIpState Enabled
Set-AdlAnalyticsAccount -Name $adla -FirewallState Enabled
Set-AdlAnalyticsAccount -Name $adla -FirewallState Disabled
Práce s Azure
Získání podrobností o chybě
Resolve-AzError -Last
Ověřte, jestli na počítači s Windows používáte funkci správce.
function Test-Administrator
{
$user = [Security.Principal.WindowsIdentity]::GetCurrent();
$p = New-Object Security.Principal.WindowsPrincipal $user
$p.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
}
Vyhledání ID tenanta
Z názvu předplatného:
function Get-TenantIdFromSubscriptionName( [string] $subname )
{
$sub = (Get-AzSubscription -SubscriptionName $subname)
$sub.TenantId
}
Get-TenantIdFromSubscriptionName "ADLTrainingMS"
Z ID předplatného:
function Get-TenantIdFromSubscriptionId( [string] $subid )
{
$sub = (Get-AzSubscription -SubscriptionId $subid)
$sub.TenantId
}
$subid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Get-TenantIdFromSubscriptionId $subid
Z adresy domény, například "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
Výpis všech předplatných a ID tenantů
$subs = Get-AzSubscription
foreach ($sub in $subs)
{
Write-Host $sub.Name "(" $sub.Id ")"
Write-Host "`tTenant Id" $sub.TenantId
}
Další kroky
- Přehled služby Microsoft Azure Data Lake Analytics
- Začínáme s Data Lake Analytics pomocí rozhraní příkazového řádkuAzure Portal | Azure PowerShell | Azure
- Správa azure Data Lake Analytics pomocí Azure Portal | Azure PowerShell | CLI