Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penting
Azure Data Lake Analytics pensiun pada 29 Februari 2024. Pelajari lebih lanjut dengan pengumuman ini.
Untuk analitik data, organisasi Anda dapat menggunakan Azure Synapse Analytics atau Microsoft Fabric.
Artikel ini menjelaskan cara mengelola akun, sumber data, pengguna, dan pekerjaan Azure Data Lake Analytics dengan menggunakan Azure PowerShell.
Prasyarat
Nota
Kami menyarankan agar Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.
Untuk menggunakan PowerShell dengan Data Lake Analytics, kumpulkan informasi berikut:
- ID Langganan: ID langganan Azure yang berisi akun Data Lake Analytics Anda.
- Grup sumber daya: Nama grup sumber daya Azure yang berisi akun Data Lake Analytics Anda.
- nama akun Data Lake Analytics: Nama akun Data Lake Analytics Anda.
- nama akun Default Data Lake Store: Setiap akun Data Lake Analytics memiliki akun Data Lake Store default.
- Lokasi: Lokasi akun Data Lake Analytics Anda, seperti "US Timur 2" atau lokasi lain yang didukung.
Cuplikan PowerShell dalam tutorial ini menggunakan variabel ini untuk menyimpan informasi ini
$subId = "<SubscriptionId>"
$rg = "<ResourceGroupName>"
$adla = "<DataLakeAnalyticsAccountName>"
$adls = "<DataLakeStoreAccountName>"
$location = "<Location>"
Masuk ke Azure
Masuk menggunakan autentikasi pengguna interaktif
Masuk menggunakan ID langganan atau berdasarkan nama langganan
# Using subscription id
Connect-AzAccount -SubscriptionId $subId
# Using subscription name
Connect-AzAccount -SubscriptionName $subname
Menyimpan konteks autentikasi
Cmdlet Connect-AzAccount
selalu meminta kredensial. Anda dapat menghindari diminta dengan menggunakan cmdlet berikut:
# Save login session information
Save-AzAccounts -Path D:\profile.json
# Load login session information
Select-AzAccounts -Path D:\profile.json
Masuklah menggunakan Identitas Perwakilan Layanan (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
Mengelola akun
Daftar akun
# 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
Buat akun
Setiap akun Data Lake Analytics memerlukan akun Data Lake Store default yang digunakannya untuk menyimpan log. Anda dapat menggunakan kembali akun yang sudah ada atau membuat akun.
# 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
Mendapatkan informasi akun
Dapatkan detail tentang akun.
Get-AdlAnalyticsAccount -Name $adla
Periksa apakah ada akun
Test-AdlAnalyticsAccount -Name $adla
Mengelola sumber data
Azure Data Lake Analytics saat ini mendukung sumber data berikut:
Setiap akun Data Lake Analytics memiliki akun Data Lake Store default. Akun Data Lake Store default digunakan untuk menyimpan metadata pekerjaan dan log audit pekerjaan.
Menemukan akun Data Lake Store default
$adla_acct = Get-AdlAnalyticsAccount -Name $adla
$dataLakeStoreName = $adla_acct.DefaultDataLakeAccount
Anda dapat menemukan akun Data Lake Store default dengan memfilter daftar sumber data menurut properti IsDefault
:
Get-AdlAnalyticsDataSource -Account $adla | ? { $_.IsDefault }
Menambahkan sumber data
# 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
Mencantumkan sumber data
# 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"
Kirim tugas U-SQL
Kirim string sebagai tugas 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"
Kirim file sebagai pekerjaan U-SQL
$scriptpath = "d:\test.usql"
$script | Out-File $scriptpath
Submit-AdlJob -AccountName $adla –ScriptPath $scriptpath -Name "Demo"
Mencantumkan pekerjaan
Output mencakup pekerjaan yang sedang berjalan dan pekerjaan yang baru saja selesai.
Get-AdlJob -Account $adla
Daftar pekerjaan terbaik N
Secara default daftar pekerjaan diurutkan pada waktu pengiriman. Jadi pekerjaan yang terakhir dikirimkan muncul terlebih dahulu. Secara default, akun ADLA mengingat pekerjaan selama 180 hari, tetapi cmdlet Get-AdlJob secara default hanya mengembalikan 500 pertama. Gunakan parameter -Top untuk mencantumkan jumlah pekerjaan tertentu.
$jobs = Get-AdlJob -Account $adla -Top 10
Mencantumkan pekerjaan menurut status pekerjaan
Menggunakan parameter -State
. Anda dapat menggabungkan salah satu nilai ini:
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
Mencantumkan pekerjaan menurut hasil pekerjaan
Gunakan parameter -Result
untuk mendeteksi apakah pekerjaan yang berakhir berhasil diselesaikan. Ini memiliki nilai-nilai ini:
- Dibatalkan
- Gagal
- Tidak
- Berhasil
# List Successful jobs.
Get-AdlJob -Account $adla -State Ended -Result Succeeded
# List Failed jobs.
Get-AdlJob -Account $adla -State Ended -Result Failed
Mencantumkan pekerjaan menurut pengirim pekerjaan
Parameter -Submitter
membantu Anda mengidentifikasi siapa yang mengirimkan pekerjaan.
Get-AdlJob -Account $adla -Submitter "joe@contoso.com"
Mencantumkan pekerjaan menurut waktu pengiriman
-SubmittedAfter
berguna untuk memfilter rentang waktu.
# 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
Dapatkan status pekerjaan
Dapatkan status tugas tertentu.
Get-AdlJob -AccountName $adla -JobId $job.JobId
Batalkan pekerjaan
Stop-AdlJob -Account $adla -JobID $jobID
Tunggu hingga pekerjaan selesai
Alih-alih mengulangi Get-AdlAnalyticsJob
hingga pekerjaan selesai, Anda dapat menggunakan cmdlet Wait-AdlJob
untuk menunggu pekerjaan berakhir.
Wait-AdlJob -Account $adla -JobId $job.JobId
Mencantumkan alur pekerjaan dan pengulangan
Gunakan cmdlet Get-AdlJobPipeline
untuk melihat informasi alur pekerjaan yang dikirimkan sebelumnya.
$pipelines = Get-AdlJobPipeline -Account $adla
$pipeline = Get-AdlJobPipeline -Account $adla -PipelineId "<pipeline ID>"
Gunakan cmdlet Get-AdlJobRecurrence
untuk melihat informasi pengulangan untuk pekerjaan yang dikirimkan sebelumnya.
$recurrences = Get-AdlJobRecurrence -Account $adla
$recurrence = Get-AdlJobRecurrence -Account $adla -RecurrenceId "<recurrence ID>"
Mengelola kebijakan komputasi
Mencantumkan kebijakan komputasi yang ada
Cmdlet Get-AdlAnalyticsComputePolicy
mengambil info tentang kebijakan komputasi untuk akun Data Lake Analytics.
$policies = Get-AdlAnalyticsComputePolicy -Account $adla
Membuat kebijakan komputasi
Cmdlet New-AdlAnalyticsComputePolicy
membuat kebijakan komputasi baru untuk akun Data Lake Analytics. Contoh ini menetapkan AU maksimum yang tersedia untuk pengguna yang ditentukan menjadi 50, dan prioritas pekerjaan minimum menjadi 250.
$userObjectId = (Get-AzAdUser -SearchString "garymcdaniel@contoso.com").Id
New-AdlAnalyticsComputePolicy -Account $adla -Name "GaryMcDaniel" -ObjectId $objectId -ObjectType User -MaxDegreeOfParallelismPerJob 50 -MinPriorityPerJob 250
Mengelola file
Periksa keberadaan file
Test-AdlStoreItem -Account $adls -Path "/data.csv"
Mengunggah dan mengunduh
Unggah file.
Import-AdlStoreItem -AccountName $adls -Path "c:\data.tsv" -Destination "/data_copy.csv"
Unggah seluruh folder secara rekursif.
Import-AdlStoreItem -AccountName $adls -Path "c:\myData\" -Destination "/myData/" -Recurse
Unduh sebuah file.
Export-AdlStoreItem -AccountName $adls -Path "/data.csv" -Destination "c:\data.csv"
Unduh seluruh folder secara rekursif.
Export-AdlStoreItem -AccountName $adls -Path "/" -Destination "c:\myData\" -Recurse
Nota
Jika proses unggah atau unduh terganggu, Anda dapat mencoba melanjutkan proses dengan menjalankan cmdlet lagi dengan bendera -Resume
.
Mengelola katalog U-SQL
Katalog U-SQL digunakan untuk menyusun data dan kode sehingga dapat dibagikan oleh skrip U-SQL. Katalog memaksimalkan penggunaan performa dengan data di Azure Data Lake. Untuk informasi selengkapnya, lihat Menggunakan katalog U-SQL.
Mencantumkan item dalam katalog 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"
Daftarkan semua assembly dalam katalog 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
}
}
Mendapatkan detail tentang item katalog
# 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"
Menyimpan kredensial dalam katalog
Dalam database U-SQL, buat objek kredensial untuk database yang dihosting di Azure. Saat ini, kredensial U-SQL adalah satu-satunya jenis item katalog yang dapat Anda buat melalui 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
Mengelola aturan firewall
Membuat daftar aturan firewall
Get-AdlAnalyticsFirewallRule -Account $adla
Menambahkan aturan 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
Mengubah aturan firewall
Set-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName -StartIpAddress $startIpAddress -EndIpAddress $endIpAddress
Menghapus aturan firewall
Remove-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName
Perbolehkan alamat IP Azure
Set-AdlAnalyticsAccount -Name $adla -AllowAzureIpState Enabled
Set-AdlAnalyticsAccount -Name $adla -FirewallState Enabled
Set-AdlAnalyticsAccount -Name $adla -FirewallState Disabled
Bekerja dengan Azure
Dapatkan detail kesalahan
Resolve-AzError -Last
Verifikasi apakah Anda menjalankan sebagai Administrator di komputer Windows Anda
function Test-Administrator
{
$user = [Security.Principal.WindowsIdentity]::GetCurrent();
$p = New-Object Security.Principal.WindowsPrincipal $user
$p.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
}
Menemukan TenantID
Berdasarkan nama langganan:
function Get-TenantIdFromSubscriptionName( [string] $subname )
{
$sub = (Get-AzSubscription -SubscriptionName $subname)
$sub.TenantId
}
Get-TenantIdFromSubscriptionName "ADLTrainingMS"
Berdasarkan ID langganan:
function Get-TenantIdFromSubscriptionId( [string] $subid )
{
$sub = (Get-AzSubscription -SubscriptionId $subid)
$sub.TenantId
}
$subid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Get-TenantIdFromSubscriptionId $subid
Dari alamat domain seperti "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
Mencantumkan semua langganan dan ID penyewa Anda
$subs = Get-AzSubscription
foreach ($sub in $subs)
{
Write-Host $sub.Name "(" $sub.Id ")"
Write-Host "`tTenant Id" $sub.TenantId
}
Langkah berikutnya
- Gambaran Umum microsoft Azure Data Lake Analytics
- Mulai menggunakan Data Lake Analytics menggunakan portal Azure | Azure PowerShell | Azure CLI
- Mengelola Azure Data Lake Analytics menggunakan portal Azure | Azure PowerShell | CLI