Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Usługa Azure Data Lake Analytics została wycofana 29 lutego 2024 r. Dowiedz się więcej z tym ogłoszeniem.
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 programu Azure PowerShell.
Wymagania wstępne
Uwaga / Notatka
Zalecamy użycie modułu Azure Az PowerShell do interakcji z Azure. 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 usługą Data Lake Analytics, zbierz następujące informacje:
- Identyfikator subskrypcji: identyfikator subskrypcji platformy Azure, która zawiera konto usługi Data Lake Analytics.
- Grupa zasobów: nazwa grupy zasobów platformy Azure, która zawiera konto usługi Data Lake Analytics.
- Nazwa konta usługi Data Lake Analytics: Nazwa Twojego konta w usłudze Data Lake Analytics.
- Domyślna nazwa konta usługi Data Lake Store: każde konto usługi Data Lake Analytics ma domyślne konto usługi Data Lake Store.
- Lokalizacja: lokalizacja konta usługi Data Lake Analytics, na przykład "Wschodnie stany USA 2" lub inne obsługiwane lokalizacje.
Fragmenty kodu programu PowerShell w tym samouczku używają tych zmiennych do przechowywania tych informacji
$subId = "<SubscriptionId>"
$rg = "<ResourceGroupName>"
$adla = "<DataLakeAnalyticsAccountName>"
$adls = "<DataLakeStoreAccountName>"
$location = "<Location>"
Logowanie 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
Cmdlet Connect-AzAccount 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 podmiotu 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ądzaj kontami
Lista 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ądzaj źródłami danych
Usługa Azure Data Lake Analytics obecnie obsługuje następujące źródła danych:
Każde konto usługi 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 zadań 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
Prześlij ciąg jako zadanie 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"
Prześlij plik jako zadanie U-SQL
$scriptpath = "d:\test.usql"
$script | Out-File $scriptpath
Submit-AdlJob -AccountName $adla –ScriptPath $scriptpath -Name "Demo"
Lista zadań
Dane wyjściowe obejmują aktualnie uruchomione zadania i te zadania, które zostały ostatnio ukończone.
Get-AdlJob -Account $adla
Wyświetlanie listy pierwszych N zadań
Domyślnie lista zadań jest sortowana podczas przesyłania. W związku z tym ostatnio przesłane zadania pojawiają się jako pierwsze. Domyślnie konto usługi ADLA zapamiętuje zadania przez 180 dni, ale polecenie cmdlet Get-AdlJob domyślnie zwraca tylko pierwsze 500. Użyj parametru -Top, 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:
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
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
- Nie powiodło się
- Żaden
- Udało się
# 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
-SubmittedAfter jest przydatny, aby określić zakres czasowy.
# 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
Pobierz stan 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ć się Get-AdlAnalyticsJob do momentu zakończenia zadania, możesz użyć polecenia cmdlet Wait-AdlJob, aby poczekać na zakończenie zadania.
Wait-AdlJob -Account $adla -JobId $job.JobId
Wyświetlanie listy potoków zadań i cykli
Użyj polecenia Get-AdlJobPipeline cmdlet, aby wyświetlić informacje o przesłanych wcześniej zadaniach w potoku.
$pipelines = Get-AdlJobPipeline -Account $adla
$pipeline = Get-AdlJobPipeline -Account $adla -PipelineId "<pipeline ID>"
Użyj polecenia Get-AdlJobRecurrence cmdlet, aby wyświetlić informacje o powtarzaniu poprzednio 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 usługi Data Lake Analytics.
$policies = Get-AdlAnalyticsComputePolicy -Account $adla
Tworzenie zasad obliczeniowych
Polecenie New-AdlAnalyticsComputePolicy cmdlet tworzy nowe zasady obliczeniowe dla konta usługi 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 / Notatka
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ść przy użyciu danych w usłudze Azure Data Lake. Aby uzyskać więcej informacji, zobacz Używanie wykazu 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"
Wypisz wszystkie zestawy 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"
Przechowaj poświadczenia w katalogu
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
Lista reguł zapory
Get-AdlAnalyticsFirewallRule -Account $adla
Dodaj regułę 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
Usuń regułę 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
Uzyskiwanie szczegółów błędu
Resolve-AzError -Last
Sprawdź, czy używasz konta administratora na komputerze 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
Wymień wszystkie swoje subskrypcje i identyfikatory dzierżawców
$subs = Get-AzSubscription
foreach ($sub in $subs)
{
Write-Host $sub.Name "(" $sub.Id ")"
Write-Host "`tTenant Id" $sub.TenantId
}
Dalsze kroki
- Omówienie usługi Microsoft Azure Data Lake Analytics
- Rozpocznij pracę z usługą Data Lake Analytics, korzystając z portalu Azure | programu Azure PowerShell | Azure CLI
- Zarządzanie usługą Azure Data Lake Analytics przy użyciu portalu Azure | Azure PowerShell | interfejsu wiersza polecenia