Hantera Azure Data Lake Analytics med hjälp av Azure PowerShell
Viktigt
Azure Data Lake Analytics drog sig tillbaka den 29 februari 2024. Läs mer med det här meddelandet.
För dataanalys kan din organisation använda Azure Synapse Analytics eller Microsoft Fabric.
Den här artikeln beskriver hur du hanterar Azure Data Lake Analytics-konton, datakällor, användare och jobb med hjälp av Azure PowerShell.
Förutsättningar
Anteckning
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.
Om du vill använda PowerShell med Data Lake Analytics samlar du in följande information:
- Prenumerations-ID: ID:t för Den Azure-prenumeration som innehåller ditt Data Lake Analytics konto.
- Resursgrupp: Namnet på den Azure-resursgrupp som innehåller ditt Data Lake Analytics konto.
- Data Lake Analytics kontonamn: Namnet på ditt Data Lake Analytics konto.
- Standardnamn för Data Lake Store-konto: Varje Data Lake Analytics konto har ett Data Lake Store-standardkonto.
- Plats: Platsen för ditt Data Lake Analytics konto, till exempel "USA, östra 2" eller andra platser som stöds.
PowerShell-kodfragmenten i den här självstudien använder dessa variabler för att lagra informationen
$subId = "<SubscriptionId>"
$rg = "<ResourceGroupName>"
$adla = "<DataLakeAnalyticsAccountName>"
$adls = "<DataLakeStoreAccountName>"
$location = "<Location>"
Logga in på Azure
Logga in med interaktiv användarautentisering
Logga in med ett prenumerations-ID eller efter prenumerationsnamn
# Using subscription id
Connect-AzAccount -SubscriptionId $subId
# Using subscription name
Connect-AzAccount -SubscriptionName $subname
Spara autentiseringskontext
Cmdleten Connect-AzAccount
frågar alltid efter autentiseringsuppgifter. Du kan undvika att bli tillfrågad med hjälp av följande cmdletar:
# Save login session information
Save-AzAccounts -Path D:\profile.json
# Load login session information
Select-AzAccounts -Path D:\profile.json
Logga in med en tjänsthuvudnamnsidentitet (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
Hantera konton
Lista över konton
# 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
Skapa ett konto
Alla Data Lake Analytics-konton kräver ett Data Lake Store-standardkonto som används för att lagra loggar. Du kan återanvända ett befintligt konto eller skapa ett konto.
# 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
Hämta kontoinformation
Få information om ett konto.
Get-AdlAnalyticsAccount -Name $adla
Kontrollera om det finns ett konto
Test-AdlAnalyticsAccount -Name $adla
Hantera datakällor
Azure Data Lake Analytics stöder för närvarande följande datakällor:
Varje Data Lake Analytics konto har ett standardkonto för Data Lake Store. Data Lake Store-standardkontot används för att lagra jobbmetadata och jobbgranskningsloggar.
Hitta standardkontot för Data Lake Store
$adla_acct = Get-AdlAnalyticsAccount -Name $adla
$dataLakeStoreName = $adla_acct.DefaultDataLakeAccount
Du hittar standardkontot för Data Lake Store genom att filtrera listan över datakällor efter IsDefault
egenskapen:
Get-AdlAnalyticsDataSource -Account $adla | ? { $_.IsDefault }
Lägga till en datakälla
# 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
Lista datakällor
# 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"
Skicka U-SQL-jobb
Skicka en sträng som ett U-SQL-jobb
$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"
Skicka en fil som ett U-SQL-jobb
$scriptpath = "d:\test.usql"
$script | Out-File $scriptpath
Submit-AdlJob -AccountName $adla –ScriptPath $scriptpath -Name "Demo"
Lista jobb
Resultatet innehåller de jobb som körs för närvarande och de jobb som nyss blev klara.
Get-AdlJob -Account $adla
Lista de översta N jobben
Som standard sorteras listan över jobb efter sändningstid. Så de senast skickade jobben visas först. Som standard kommer ADLA-kontot ihåg jobb i 180 dagar, men den Get-AdlJob cmdleten returnerar som standard endast de första 500. Använd -Top-parametern för att lista ett visst antal jobb.
$jobs = Get-AdlJob -Account $adla -Top 10
Lista jobb efter jobbtillstånd
Använda parametern -State
. Du kan kombinera något av följande värden:
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
Lista jobb efter jobbresultat
Använd parametern -Result
för att identifiera om avslutade jobb har slutförts. Den har följande värden:
- Avbrutna
- Misslyckad
- Ingen
- Lyckades
# List Successful jobs.
Get-AdlJob -Account $adla -State Ended -Result Succeeded
# List Failed jobs.
Get-AdlJob -Account $adla -State Ended -Result Failed
Lista jobb efter jobbslämnare
Parametern -Submitter
hjälper dig att identifiera vem som skickade ett jobb.
Get-AdlJob -Account $adla -Submitter "joe@contoso.com"
Lista jobb efter sändningstid
-SubmittedAfter
Är användbart vid filtrering till ett tidsintervall.
# 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
Hämta jobbstatus
Hämta status för ett specifikt jobb.
Get-AdlJob -AccountName $adla -JobId $job.JobId
Avbryta ett jobb
Stop-AdlJob -Account $adla -JobID $jobID
Vänta tills ett jobb har slutförts
I stället för att upprepa Get-AdlAnalyticsJob
tills ett jobb har slutförts kan du använda cmdleten Wait-AdlJob
för att vänta tills jobbet har avslutats.
Wait-AdlJob -Account $adla -JobId $job.JobId
Lista jobbpipelines och upprepningar
Använd cmdleten Get-AdlJobPipeline
för att se pipelineinformationen som tidigare skickats jobb.
$pipelines = Get-AdlJobPipeline -Account $adla
$pipeline = Get-AdlJobPipeline -Account $adla -PipelineId "<pipeline ID>"
Använd cmdleten Get-AdlJobRecurrence
för att se upprepningsinformationen för tidigare skickade jobb.
$recurrences = Get-AdlJobRecurrence -Account $adla
$recurrence = Get-AdlJobRecurrence -Account $adla -RecurrenceId "<recurrence ID>"
Hantera beräkningsprinciper
Visa en lista över befintliga beräkningsprinciper
Cmdleten Get-AdlAnalyticsComputePolicy
hämtar information om beräkningsprinciper för ett Data Lake Analytics konto.
$policies = Get-AdlAnalyticsComputePolicy -Account $adla
Skapa en beräkningsprincip
Cmdleten New-AdlAnalyticsComputePolicy
skapar en ny beräkningsprincip för ett Data Lake Analytics konto. I det här exemplet anges det maximala antalet AUS:er som är tillgängliga för den angivna användaren till 50 och den lägsta jobbprioriteten till 250.
$userObjectId = (Get-AzAdUser -SearchString "garymcdaniel@contoso.com").Id
New-AdlAnalyticsComputePolicy -Account $adla -Name "GaryMcDaniel" -ObjectId $objectId -ObjectType User -MaxDegreeOfParallelismPerJob 50 -MinPriorityPerJob 250
Hantera filer
Kontrollera om det finns en fil
Test-AdlStoreItem -Account $adls -Path "/data.csv"
Ladda upp och ladda ned
Ladda upp en fil.
Import-AdlStoreItem -AccountName $adls -Path "c:\data.tsv" -Destination "/data_copy.csv"
Ladda upp en hel mapp rekursivt.
Import-AdlStoreItem -AccountName $adls -Path "c:\myData\" -Destination "/myData/" -Recurse
Ladda ned en fil.
Export-AdlStoreItem -AccountName $adls -Path "/data.csv" -Destination "c:\data.csv"
Ladda ned en hel mapp rekursivt.
Export-AdlStoreItem -AccountName $adls -Path "/" -Destination "c:\myData\" -Recurse
Anteckning
Om uppladdningen eller nedladdningen avbryts kan du försöka återuppta processen genom att köra cmdleten igen med -Resume
flaggan .
Hantera U-SQL-katalogen
U-SQL-katalogen används för att strukturera data och kod så att de kan delas av U-SQL-skript. Katalogen ger högsta möjliga prestanda med data i Azure Data Lake. Mer information finns i Använd U-SQL-katalogen.
Lista objekt i U-SQL-katalogen
# 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"
Visa en lista över alla sammansättningar i U-SQL-katalogen
$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
}
}
Få information om ett katalogobjekt
# 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"
Lagra autentiseringsuppgifter i katalogen
Skapa ett autentiseringsobjekt för en databas som finns i Azure i en U-SQL-databas. För närvarande är U-SQL-autentiseringsuppgifter den enda typen av katalogobjekt som du kan skapa 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
Hantera brandväggsregler
Lista brandväggsregler
Get-AdlAnalyticsFirewallRule -Account $adla
Lägga till en brandväggsregel
$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
Ändra en brandväggsregel
Set-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName -StartIpAddress $startIpAddress -EndIpAddress $endIpAddress
Ta bort en brandväggsregel
Remove-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName
Tillåt Azure IP-adresser
Set-AdlAnalyticsAccount -Name $adla -AllowAzureIpState Enabled
Set-AdlAnalyticsAccount -Name $adla -FirewallState Enabled
Set-AdlAnalyticsAccount -Name $adla -FirewallState Disabled
Arbeta med Azure
Hämta felinformation
Resolve-AzError -Last
Kontrollera om du kör som administratör på Windows-datorn
function Test-Administrator
{
$user = [Security.Principal.WindowsIdentity]::GetCurrent();
$p = New-Object Security.Principal.WindowsPrincipal $user
$p.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
}
Hitta ett TenantID
Från ett prenumerationsnamn:
function Get-TenantIdFromSubscriptionName( [string] $subname )
{
$sub = (Get-AzSubscription -SubscriptionName $subname)
$sub.TenantId
}
Get-TenantIdFromSubscriptionName "ADLTrainingMS"
Från ett prenumerations-ID:
function Get-TenantIdFromSubscriptionId( [string] $subid )
{
$sub = (Get-AzSubscription -SubscriptionId $subid)
$sub.TenantId
}
$subid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Get-TenantIdFromSubscriptionId $subid
Från en domänadress som "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
Visa en lista över alla dina prenumerationer och klientorganisations-ID:t
$subs = Get-AzSubscription
foreach ($sub in $subs)
{
Write-Host $sub.Name "(" $sub.Id ")"
Write-Host "`tTenant Id" $sub.TenantId
}
Nästa steg
- Översikt över Microsoft Azure Data Lake Analytics
- Kom igång med Data Lake Analytics med Azure Portal | Azure PowerShell | Azure CLI
- Hantera Azure Data Lake Analytics med Azure Portal | Azure PowerShell | CLI