Az Azure Data Lake Analytics kezelése az Azure PowerShell-lel
Fontos
Az Azure Data Lake Analytics 2024. február 29-én megszűnt. További információ ezzel a bejelentéssel.
Az adatelemzéshez a szervezet használhatja a Azure Synapse Analyticset vagy a Microsoft Fabricet.
Ez a cikk azt ismerteti, hogyan kezelheti az Azure-Data Lake Analytics-fiókokat, -adatforrásokat, -felhasználókat és -feladatokat Azure PowerShell használatával.
Előfeltételek
Megjegyzés
Javasoljuk, hogy az Azure-ral való interakcióhoz az Azure Az PowerShell-modult használja. Az első lépésekhez tekintse meg az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.
A PowerShell Data Lake Analytics való használatához gyűjtse össze a következő információkat:
- Előfizetés azonosítója: A Data Lake Analytics-fiókját tartalmazó Azure-előfizetés azonosítója.
- Erőforráscsoport: A Data Lake Analytics-fiókot tartalmazó Azure-erőforráscsoport neve.
- Data Lake Analytics fiók neve: A Data Lake Analytics-fiók neve.
- Alapértelmezett Data Lake Store-fiók neve: Minden Data Lake Analytics fiókhoz tartozik egy alapértelmezett Data Lake Store-fiók.
- Hely: A Data Lake Analytics-fiók helye, például az "USA 2. keleti régiója" vagy más támogatott helyek.
A jelen oktatóanyagban szereplő PowerShell-kódrészletek ezeket a változókat használják adattárolásra
$subId = "<SubscriptionId>"
$rg = "<ResourceGroupName>"
$adla = "<DataLakeAnalyticsAccountName>"
$adls = "<DataLakeStoreAccountName>"
$location = "<Location>"
Jelentkezzen be az Azure-ba
Bejelentkezés interaktív felhasználói hitelesítéssel
Bejelentkezés előfizetés-azonosító vagy előfizetés neve alapján
# Using subscription id
Connect-AzAccount -SubscriptionId $subId
# Using subscription name
Connect-AzAccount -SubscriptionName $subname
Hitelesítési környezet mentése
A Connect-AzAccount
parancsmag mindig hitelesítő adatokat kér. A következő parancsmagok használatával elkerülheti a kérést:
# Save login session information
Save-AzAccounts -Path D:\profile.json
# Load login session information
Select-AzAccounts -Path D:\profile.json
Bejelentkezés szolgáltatásnév-identitással (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
Fiókok kezelése
Fiókok listája
# 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
Fiók létrehozása
A naplók tárolásához minden Data Lake Analytics-fiók esetében szükség van egy alapértelmezett Data Lake Store-fiókra. Újra felhasználhat egy meglévő fiókot, vagy létrehozhat egy fiókot.
# 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
Fiókadatok lekérése
Fiók adatainak lekérése.
Get-AdlAnalyticsAccount -Name $adla
Ellenőrizze, hogy létezik-e fiók
Test-AdlAnalyticsAccount -Name $adla
Adatforrások kezelése
Az Azure Data Lake Analytics jelenleg a következő adatforrásokat támogatja:
Minden Data Lake Analytics fiókhoz tartozik egy alapértelmezett Data Lake Store-fiók. Az alapértelmezett Data Lake Store-fiók a feladat metaadatainak és a feladatnaplóknak a tárolására szolgál.
Az alapértelmezett Data Lake Store-fiók megkeresése
$adla_acct = Get-AdlAnalyticsAccount -Name $adla
$dataLakeStoreName = $adla_acct.DefaultDataLakeAccount
Az alapértelmezett Data Lake Store-fiók megkereséséhez szűrje az adatforrások listáját a IsDefault
tulajdonság alapján:
Get-AdlAnalyticsDataSource -Account $adla | ? { $_.IsDefault }
Adatforrás hozzáadása
# 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
Adatforrások listázása
# 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-feladatok küldése
Sztring elküldése U-SQL-feladatként
$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"
Fájl elküldése U-SQL-feladatként
$scriptpath = "d:\test.usql"
$script | Out-File $scriptpath
Submit-AdlJob -AccountName $adla –ScriptPath $scriptpath -Name "Demo"
Feladatok listázása
A kimenet tartalmazza az aktuálisan futó és a nemrégiben befejezett feladatokat is.
Get-AdlJob -Account $adla
A leggyakoribb N-feladatok listázása
Alapértelmezés szerint a feladatok listája a küldési időpont szerint van rendezve. Így a legutóbb beküldött feladatok jelennek meg először. Alapértelmezés szerint az ADLA-fiók 180 napig megjegyzi a feladatokat, de a Get-AdlJob parancsmag alapértelmezés szerint csak az első 500-et adja vissza. A -Top paraméterrel listázhat egy adott számú feladatot.
$jobs = Get-AdlJob -Account $adla -Top 10
Feladatok listázása feladatállapot szerint
-State
A paraméter használatával. Az alábbi értékek bármelyikét kombinálhatja:
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
Feladatok listázása feladateredmények szerint
A paraméterrel állapítsa meg, hogy a -Result
befejezett feladatok sikeresen befejeződtek-e. A következő értékekkel rendelkezik:
- Megszakítva
- Sikertelen
- None
- Sikeres
# List Successful jobs.
Get-AdlJob -Account $adla -State Ended -Result Succeeded
# List Failed jobs.
Get-AdlJob -Account $adla -State Ended -Result Failed
Feladatok listázása feladat beküldője szerint
A -Submitter
paraméter segítségével azonosíthatja, hogy ki küldött be feladatot.
Get-AdlJob -Account $adla -Submitter "joe@contoso.com"
Feladatok listázása beküldési idő szerint
A -SubmittedAfter
hasznos az időtartományra való szűréshez.
# 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
Feladat állapotának lekérése
Kérje le egy adott feladat állapotát.
Get-AdlJob -AccountName $adla -JobId $job.JobId
Feladat megszakítása
Stop-AdlJob -Account $adla -JobID $jobID
Várjon, amíg egy feladat befejeződik
Ahelyett, hogy a feladat befejeződéséig ismételne Get-AdlAnalyticsJob
, a Wait-AdlJob
parancsmaggal megvárhatja, amíg a feladat befejeződik.
Wait-AdlJob -Account $adla -JobId $job.JobId
Feladatfolyamatok és ismétlődések listázása
Get-AdlJobPipeline
A parancsmaggal megtekintheti a korábban elküldött folyamatinformációkat.
$pipelines = Get-AdlJobPipeline -Account $adla
$pipeline = Get-AdlJobPipeline -Account $adla -PipelineId "<pipeline ID>"
Get-AdlJobRecurrence
A parancsmaggal megtekintheti a korábban elküldött feladatok ismétlődési adatait.
$recurrences = Get-AdlJobRecurrence -Account $adla
$recurrence = Get-AdlJobRecurrence -Account $adla -RecurrenceId "<recurrence ID>"
Számítási szabályzatok kezelése
Meglévő számítási szabályzatok listázása
A Get-AdlAnalyticsComputePolicy
parancsmag lekéri az Data Lake Analytics-fiók számítási szabályzataival kapcsolatos információkat.
$policies = Get-AdlAnalyticsComputePolicy -Account $adla
Számítási szabályzat létrehozása
A New-AdlAnalyticsComputePolicy
parancsmag létrehoz egy új számítási szabályzatot egy Data Lake Analytics-fiókhoz. Ez a példa a megadott felhasználó számára elérhető maximális AU-t 50-re, a minimális feladatprioritást pedig 250-re állítja.
$userObjectId = (Get-AzAdUser -SearchString "garymcdaniel@contoso.com").Id
New-AdlAnalyticsComputePolicy -Account $adla -Name "GaryMcDaniel" -ObjectId $objectId -ObjectType User -MaxDegreeOfParallelismPerJob 50 -MinPriorityPerJob 250
Fájlok kezelése
Fájl meglétének ellenőrzése
Test-AdlStoreItem -Account $adls -Path "/data.csv"
Feltöltés és letöltés
Töltsön fel egy fájlt.
Import-AdlStoreItem -AccountName $adls -Path "c:\data.tsv" -Destination "/data_copy.csv"
Teljes mappa rekurzív feltöltése.
Import-AdlStoreItem -AccountName $adls -Path "c:\myData\" -Destination "/myData/" -Recurse
Töltsön le egy fájlt.
Export-AdlStoreItem -AccountName $adls -Path "/data.csv" -Destination "c:\data.csv"
Töltsön le egy teljes mappát rekurzív módon.
Export-AdlStoreItem -AccountName $adls -Path "/" -Destination "c:\myData\" -Recurse
Megjegyzés
Ha a feltöltési vagy letöltési folyamat megszakad, megpróbálhatja folytatni a folyamatot a parancsmag ismételt futtatásával a -Resume
jelzővel.
Az U-SQL-katalógus kezelése
Az U-SQL-katalógus az adatok és a kód strukturálására szolgál, hogy azokat U-SQL-szkriptek oszthassák meg. A katalógus a lehető legnagyobb teljesítményt teszi lehetővé az Azure Data Lake-ben tárolt adatokkal. További információk: Use U-SQL catalog (U-SQL-katalógus használata).
Az U-SQL-katalógus elemeinek listázása
# 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"
Az U-SQL-katalógus összes szerelvényének listázása
$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
}
}
Katalóguselem részleteinek lekérése
# 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"
Hitelesítő adatok tárolása a katalógusban
Egy U-SQL-adatbázisban hozzon létre egy hitelesítőadat-objektumot az Azure-ban üzemeltetett adatbázishoz. Jelenleg az U-SQL hitelesítő adatok az egyetlen olyan katalóguselem-típus, amelyet a PowerShell használatával hozhat létre.
$dbName = "master"
$credentialName = "ContosoDbCreds"
$dbUri = "https://contoso.database.windows.net:8080"
New-AdlCatalogCredential -AccountName $adla `
-DatabaseName $db `
-CredentialName $credentialName `
-Credential (Get-Credential) `
-Uri $dbUri
Tűzfalszabályok kezelése
Tűzfalszabályok listázása
Get-AdlAnalyticsFirewallRule -Account $adla
Tűzfalszabály hozzáadása
$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
Tűzfalszabály módosítása
Set-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName -StartIpAddress $startIpAddress -EndIpAddress $endIpAddress
Tűzfalszabály eltávolítása
Remove-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName
Azure IP-címek engedélyezése
Set-AdlAnalyticsAccount -Name $adla -AllowAzureIpState Enabled
Set-AdlAnalyticsAccount -Name $adla -FirewallState Enabled
Set-AdlAnalyticsAccount -Name $adla -FirewallState Disabled
Az Azure használata
Hiba részleteinek lekérése
Resolve-AzError -Last
Ellenőrizze, hogy rendszergazdaként fut-e a Windows-gépen
function Test-Administrator
{
$user = [Security.Principal.WindowsIdentity]::GetCurrent();
$p = New-Object Security.Principal.WindowsPrincipal $user
$p.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
}
Bérlőazonosító keresése
Előfizetés nevéből:
function Get-TenantIdFromSubscriptionName( [string] $subname )
{
$sub = (Get-AzSubscription -SubscriptionName $subname)
$sub.TenantId
}
Get-TenantIdFromSubscriptionName "ADLTrainingMS"
Előfizetés-azonosítóból:
function Get-TenantIdFromSubscriptionId( [string] $subid )
{
$sub = (Get-AzSubscription -SubscriptionId $subid)
$sub.TenantId
}
$subid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Get-TenantIdFromSubscriptionId $subid
Tartománycímből, például "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
Az összes előfizetés és bérlőazonosító listázása
$subs = Get-AzSubscription
foreach ($sub in $subs)
{
Write-Host $sub.Name "(" $sub.Id ")"
Write-Host "`tTenant Id" $sub.TenantId
}
Következő lépések
- A Microsoft Azure Data Lake Analytics áttekintése
- Ismerkedés a Data Lake Analytics a Azure Portal | Azure PowerShell | Azure CLI használatával
- Azure Data Lake Analytics kezelése Azure Portal | Azure PowerShell | CLI használatával