Zarządzanie usługą Azure Data Lake Analytics przy użyciu programu Azure PowerShell
Ważne
Usługa Azure Data Lake Analytics wycofana 29 lutego 2024 r. Dowiedz się więcej z tego ogłoszenia.
Na potrzeby analizy danych organizacja może używać usługi Azure Synapse Analytics lub Microsoft Fabric.
W tym artykule opisano sposób zarządzania kontami, źródłami danych, użytkownikami i zadaniami usługi Azure Data Lake Analytics przy użyciu Azure PowerShell.
Wymagania wstępne
Uwaga
Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.
Aby użyć programu PowerShell z Data Lake Analytics, zbierz następujące informacje:
- Identyfikator subskrypcji: identyfikator subskrypcji platformy Azure, która zawiera Twoje konto Data Lake Analytics.
- Grupa zasobów: nazwa grupy zasobów platformy Azure, która zawiera Twoje konto Data Lake Analytics.
- Data Lake Analytics nazwa konta: nazwa konta Data Lake Analytics.
- Domyślna nazwa konta usługi Data Lake Store: każde konto Data Lake Analytics ma domyślne konto usługi Data Lake Store.
- Lokalizacja: lokalizacja konta Data Lake Analytics, na przykład "Wschodnie stany USA 2" lub inne obsługiwane lokalizacje.
We fragmentach kodu programu PowerShell w ramach tego samouczka do przechowywania tych informacji są używane następujące zmienne
$subId = "<SubscriptionId>"
$rg = "<ResourceGroupName>"
$adla = "<DataLakeAnalyticsAccountName>"
$adls = "<DataLakeStoreAccountName>"
$location = "<Location>"
Zaloguj się do platformy Azure.
Logowanie przy użyciu uwierzytelniania interakcyjnego użytkownika
Zaloguj się przy użyciu identyfikatora subskrypcji lub nazwy subskrypcji
# Using subscription id
Connect-AzAccount -SubscriptionId $subId
# Using subscription name
Connect-AzAccount -SubscriptionName $subname
Zapisywanie kontekstu uwierzytelniania
Polecenie Connect-AzAccount
cmdlet zawsze monituje o poświadczenia. Możesz uniknąć monitowania przy użyciu następujących poleceń cmdlet:
# Save login session information
Save-AzAccounts -Path D:\profile.json
# Load login session information
Select-AzAccounts -Path D:\profile.json
Logowanie przy użyciu tożsamości głównej usługi (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
Zarządzanie kontami
Wyświetlanie listy kont
# 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
Tworzenie konta
Każde konto usługi Data Lake Analytics wymaga domyślnego konta usługi Data Lake Store używanego do przechowywania dzienników. Możesz ponownie użyć istniejącego konta lub utworzyć 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
Pobieranie informacji o koncie
Uzyskaj szczegółowe informacje o koncie.
Get-AdlAnalyticsAccount -Name $adla
Sprawdzanie, czy konto istnieje
Test-AdlAnalyticsAccount -Name $adla
Zarządzanie źródłami danych
Usługa Azure Data Lake Analytics obecnie obsługuje następujące źródła danych:
Każde konto Data Lake Analytics ma domyślne konto usługi Data Lake Store. Domyślne konto usługi Data Lake Store służy do przechowywania metadanych zadania i dzienników inspekcji zadań.
Znajdowanie domyślnego konta usługi Data Lake Store
$adla_acct = Get-AdlAnalyticsAccount -Name $adla
$dataLakeStoreName = $adla_acct.DefaultDataLakeAccount
Domyślne konto usługi Data Lake Store można znaleźć, filtrując listę źródeł danych według IsDefault
właściwości:
Get-AdlAnalyticsDataSource -Account $adla | ? { $_.IsDefault }
Dodawanie źródła danych
# 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
Wyświetlanie listy źródeł danych
# 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"
Przesyłanie zadań U-SQL
Przesyłanie ciągu jako zadania 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"
Przesyłanie pliku jako zadania U-SQL
$scriptpath = "d:\test.usql"
$script | Out-File $scriptpath
Submit-AdlJob -AccountName $adla –ScriptPath $scriptpath -Name "Demo"
Wyświetlanie listy zadań
Dane wyjściowe obejmują obecnie uruchomione oraz niedawno ukończone zadania.
Get-AdlJob -Account $adla
Wyświetlanie listy pierwszych N zadań
Domyślnie lista zadań jest sortowana w czasie przesyłania. W związku z tym ostatnio przesłane zadania pojawiają się najpierw. Domyślnie konto usługi ADLA zapamiętuje zadania przez 180 dni, ale domyślnie polecenie cmdlet Get-AdlJob zwraca tylko pierwsze 500. Użyj -Top parametru, aby wyświetlić określoną liczbę zadań.
$jobs = Get-AdlJob -Account $adla -Top 10
Wyświetlanie listy zadań według stanu zadania
Przy użyciu parametru -State
. Można połączyć dowolną z tych wartości:
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
Wyświetlanie listy zadań według wyniku zadania
Użyj parametru , -Result
aby wykryć, czy zakończone zadania zakończyły się pomyślnie. Ma następujące wartości:
- Anulowane
- Niepowodzenie
- Brak
- Powodzenie
# List Successful jobs.
Get-AdlJob -Account $adla -State Ended -Result Succeeded
# List Failed jobs.
Get-AdlJob -Account $adla -State Ended -Result Failed
Wyświetlanie listy zadań według przesyłającej zadania
Parametr -Submitter
pomaga określić, kto przesłał zadanie.
Get-AdlJob -Account $adla -Submitter "joe@contoso.com"
Wyświetlanie listy zadań według czasu przesłania
Jest -SubmittedAfter
to przydatne w filtrowaniu do zakresu czasu.
# 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
Pobieranie stanu zadania
Uzyskaj stan określonego zadania.
Get-AdlJob -AccountName $adla -JobId $job.JobId
Anulowanie zadania
Stop-AdlJob -Account $adla -JobID $jobID
Poczekaj na zakończenie zadania
Zamiast powtarzać Get-AdlAnalyticsJob
się do zakończenia zadania, możesz użyć Wait-AdlJob
polecenia cmdlet , aby poczekać na zakończenie zadania.
Wait-AdlJob -Account $adla -JobId $job.JobId
Wyświetlanie listy potoków zadań i cykli
Get-AdlJobPipeline
Użyj polecenia cmdlet , aby wyświetlić informacje o potoku wcześniej przesłane zadania.
$pipelines = Get-AdlJobPipeline -Account $adla
$pipeline = Get-AdlJobPipeline -Account $adla -PipelineId "<pipeline ID>"
Get-AdlJobRecurrence
Użyj polecenia cmdlet , aby wyświetlić informacje o cyklu dla wcześniej przesłanych zadań.
$recurrences = Get-AdlJobRecurrence -Account $adla
$recurrence = Get-AdlJobRecurrence -Account $adla -RecurrenceId "<recurrence ID>"
Zarządzanie zasadami obliczeniowymi
Wyświetlanie listy istniejących zasad obliczeniowych
Polecenie Get-AdlAnalyticsComputePolicy
cmdlet pobiera informacje o zasadach obliczeniowych dla konta Data Lake Analytics.
$policies = Get-AdlAnalyticsComputePolicy -Account $adla
Tworzenie zasad obliczeniowych
Polecenie New-AdlAnalyticsComputePolicy
cmdlet tworzy nowe zasady obliczeniowe dla konta Data Lake Analytics. W tym przykładzie ustawiono maksymalną liczbę jednostek AU dostępnych dla określonego użytkownika na 50, a minimalny priorytet zadania to 250.
$userObjectId = (Get-AzAdUser -SearchString "garymcdaniel@contoso.com").Id
New-AdlAnalyticsComputePolicy -Account $adla -Name "GaryMcDaniel" -ObjectId $objectId -ObjectType User -MaxDegreeOfParallelismPerJob 50 -MinPriorityPerJob 250
Zarządzanie plikami
Sprawdzanie istnienia pliku
Test-AdlStoreItem -Account $adls -Path "/data.csv"
Przekazywanie i pobieranie
Przekaż plik.
Import-AdlStoreItem -AccountName $adls -Path "c:\data.tsv" -Destination "/data_copy.csv"
Przekaż cały folder rekursywnie.
Import-AdlStoreItem -AccountName $adls -Path "c:\myData\" -Destination "/myData/" -Recurse
Pobierz plik.
Export-AdlStoreItem -AccountName $adls -Path "/data.csv" -Destination "c:\data.csv"
Pobierz cały folder rekursywnie.
Export-AdlStoreItem -AccountName $adls -Path "/" -Destination "c:\myData\" -Recurse
Uwaga
Jeśli proces przekazywania lub pobierania zostanie przerwany, możesz spróbować wznowić proces, uruchamiając polecenie cmdlet ponownie z flagą -Resume
.
Zarządzanie wykazem U-SQL
Wykaz U-SQL służy do tworzenia struktury danych i kodu, dzięki czemu mogą być współużytkowane przez skrypty U-SQL. Wykaz umożliwia najwyższą wydajność dzięki danym w usłudze Azure Data Lake. Więcej informacji znajduje się w temacie Używanie katalogu U-SQL.
Wyświetlanie listy elementów w wykazie 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"
Wyświetlanie listy wszystkich zestawów wykazu 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
}
}
Uzyskiwanie szczegółowych informacji o elemencie wykazu
# 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"
Przechowywanie poświadczeń w wykazie
W bazie danych U-SQL utwórz obiekt poświadczeń dla bazy danych hostowanej na platformie Azure. Obecnie poświadczenia U-SQL są jedynym typem elementu wykazu, który można utworzyć za pomocą programu 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
Zarządzanie regułami zapory
Wyświetlanie listy reguł zapory
Get-AdlAnalyticsFirewallRule -Account $adla
Dodawanie reguły zapory
$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
Modyfikowanie reguły zapory
Set-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName -StartIpAddress $startIpAddress -EndIpAddress $endIpAddress
Usuwanie reguły zapory
Remove-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName
Zezwalaj na adresy IP platformy Azure
Set-AdlAnalyticsAccount -Name $adla -AllowAzureIpState Enabled
Set-AdlAnalyticsAccount -Name $adla -FirewallState Enabled
Set-AdlAnalyticsAccount -Name $adla -FirewallState Disabled
Praca z platformą Azure
Pobieranie szczegółów błędu
Resolve-AzError -Last
Sprawdź, czy jesteś uruchomiony jako administrator na maszynie z systemem Windows
function Test-Administrator
{
$user = [Security.Principal.WindowsIdentity]::GetCurrent();
$p = New-Object Security.Principal.WindowsPrincipal $user
$p.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
}
Znajdowanie identyfikatora dzierżawy
Z nazwy subskrypcji:
function Get-TenantIdFromSubscriptionName( [string] $subname )
{
$sub = (Get-AzSubscription -SubscriptionName $subname)
$sub.TenantId
}
Get-TenantIdFromSubscriptionName "ADLTrainingMS"
Z identyfikatora subskrypcji:
function Get-TenantIdFromSubscriptionId( [string] $subid )
{
$sub = (Get-AzSubscription -SubscriptionId $subid)
$sub.TenantId
}
$subid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Get-TenantIdFromSubscriptionId $subid
Z adresu domeny, takiego jak "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
Wyświetlanie listy wszystkich subskrypcji i identyfikatorów dzierżaw
$subs = Get-AzSubscription
foreach ($sub in $subs)
{
Write-Host $sub.Name "(" $sub.Id ")"
Write-Host "`tTenant Id" $sub.TenantId
}
Następne kroki
- Omówienie usługi Microsoft Azure Data Lake Analytics
- Rozpoczynanie pracy z Data Lake Analytics przy użyciu interfejsu wiersza polecenia platformy Azure Portal | Azure PowerShell | Azure
- Zarządzanie usługą Azure Data Lake Analytics przy użyciu Azure Portal | Azure PowerShell | CLI