إدارة Azure Data Lake Analytics باستخدام Azure PowerShell
هام
تم إيقاف Azure Data Lake Analytics في 29 فبراير 2024. تعرف على المزيد من خلال هذا الإعلان.
بالنسبة لتحليلات البيانات، يمكن لمؤسستك استخدام Azure Synapse Analytics أو Microsoft Fabric.
توضح هذه المقالة كيفية إدارة حسابات Azure Data Lake Analytics ومصادر البيانات والمستخدمين والمهام باستخدام Azure PowerShell.
المتطلبات الأساسية
ملاحظة
نوصي باستخدام وحدة Azure Az PowerShell للتفاعل مع Azure. راجع تثبيت Azure PowerShell للبدء. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.
لاستخدام PowerShell مع Data Lake Analytics، اجمع الأجزاء التالية من المعلومات:
- معرف الاشتراك: معرف اشتراك Azure الذي يحتوي على حساب Data Lake Analytics الخاص بك.
- مجموعة الموارد: اسم مجموعة موارد Azure التي تحتوي على حساب Data Lake Analytics الخاص بك.
- اسم حساب Data Lake Analytics: اسم حساب Data Lake Analytics الخاص بك.
- اسم حساب Data Lake Store الافتراضي: يحتوي كل حساب Data Lake Analytics على حساب Data Lake Store افتراضي.
- الموقع: موقع حساب Data Lake Analytics، مثل "شرق الولايات المتحدة 2" أو مواقع أخرى مدعومة.
تستخدم قصاصات PowerShell في هذا البرنامج التعليمي هذه المتغيرات لتخزين هذه المعلومات
$subId = "<SubscriptionId>"
$rg = "<ResourceGroupName>"
$adla = "<DataLakeAnalyticsAccountName>"
$adls = "<DataLakeStoreAccountName>"
$location = "<Location>"
تسجيل الدخول إلى Azure
تسجيل الدخول باستخدام مصادقة المستخدم التفاعلية
تسجيل الدخول باستخدام معرف اشتراك أو حسب اسم الاشتراك
# Using subscription id
Connect-AzAccount -SubscriptionId $subId
# Using subscription name
Connect-AzAccount -SubscriptionName $subname
حفظ سياق المصادقة
Connect-AzAccount
يطالب cmdlet دائما ببيانات الاعتماد. يمكنك تجنب المطالبة باستخدام أوامر cmdlets التالية:
# Save login session information
Save-AzAccounts -Path D:\profile.json
# Load login session information
Select-AzAccounts -Path D:\profile.json
تسجيل الدخول باستخدام الهوية الأساسية للخدمة (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
إدارة الحساب
سرد الحسابات
# 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
إنشاء حساب
يتطلب كل حساب Data Lake Analytics حساب Data Lake Store افتراضيا يستخدمه لتخزين السجلات. يمكنك إعادة استخدام حساب موجود أو إنشاء حساب.
# 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
الحصول على معلومات الحساب
احصل على تفاصيل حول حساب.
Get-AdlAnalyticsAccount -Name $adla
التحقق مما إذا كان الحساب موجودا
Test-AdlAnalyticsAccount -Name $adla
إدارة مصادر البيانات
يدعم Azure Data Lake Analytics حاليا مصادر البيانات التالية:
يحتوي كل حساب Data Lake Analytics على حساب Data Lake Store افتراضي. يتم استخدام حساب Data Lake Store الافتراضي لتخزين بيانات تعريف الوظيفة وسجلات تدقيق الوظيفة.
البحث عن حساب Data Lake Store الافتراضي
$adla_acct = Get-AdlAnalyticsAccount -Name $adla
$dataLakeStoreName = $adla_acct.DefaultDataLakeAccount
يمكنك العثور على حساب Data Lake Store الافتراضي عن طريق تصفية قائمة مصادر البيانات حسب الخاصية IsDefault
:
Get-AdlAnalyticsDataSource -Account $adla | ? { $_.IsDefault }
إضافة مصدر بيانات
# 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
سرد مصادر البيانات
# 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
إرسال سلسلة كوظيفة 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"
إرسال ملف كوظيفة U-SQL
$scriptpath = "d:\test.usql"
$script | Out-File $scriptpath
Submit-AdlJob -AccountName $adla –ScriptPath $scriptpath -Name "Demo"
قائمة المهام
يتضمن الإخراج الوظائف قيد التشغيل حاليا وتلك الوظائف التي اكتملت مؤخرا.
Get-AdlJob -Account $adla
سرد أهم مهام N
بشكل افتراضي، يتم فرز قائمة المهام في وقت الإرسال. لذلك تظهر أحدث المهام المرسلة أولا. بشكل افتراضي، يتذكر حساب ADLA الوظائف لمدة 180 يوما، ولكن Get-AdlJob cmdlet بشكل افتراضي ترجع أول 500. استخدم المعلمة -Top لسرد عدد معين من الوظائف.
$jobs = Get-AdlJob -Account $adla -Top 10
سرد المهام حسب حالة الوظيفة
استخدام المعلمة -State
. يمكنك دمج أي من هذه القيم:
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
سرد المهام حسب نتيجة المهمة
استخدم المعلمة -Result
للكشف عما إذا كانت المهام المنتهية قد اكتملت بنجاح. يحتوي على هذه القيم:
- تم الإلغاء
- فشل
- بلا
- نجح
# List Successful jobs.
Get-AdlJob -Account $adla -State Ended -Result Succeeded
# List Failed jobs.
Get-AdlJob -Account $adla -State Ended -Result Failed
سرد المهام حسب مقدم الوظيفة
-Submitter
تساعدك المعلمة على تحديد من قام بإرسال وظيفة.
Get-AdlJob -Account $adla -Submitter "joe@contoso.com"
سرد المهام حسب وقت الإرسال
مفيد -SubmittedAfter
في التصفية إلى نطاق زمني.
# 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
قم بالحصول على حالة الوظيفة
احصل على حالة وظيفة معينة.
Get-AdlJob -AccountName $adla -JobId $job.JobId
إلغاء وظيفة
Stop-AdlJob -Account $adla -JobID $jobID
انتظر حتى تنتهي المهمة
بدلا من التكرار Get-AdlAnalyticsJob
حتى تنتهي المهمة، يمكنك استخدام Wait-AdlJob
cmdlet لانتظار انتهاء المهمة.
Wait-AdlJob -Account $adla -JobId $job.JobId
سرد مسارات المهام والتكرارات
Get-AdlJobPipeline
استخدم cmdlet لمشاهدة معلومات البنية الأساسية لبرنامج ربط العمليات التجارية التي تم إرسالها مسبقا.
$pipelines = Get-AdlJobPipeline -Account $adla
$pipeline = Get-AdlJobPipeline -Account $adla -PipelineId "<pipeline ID>"
Get-AdlJobRecurrence
استخدم cmdlet لمشاهدة معلومات التكرار للوظائف المرسلة مسبقا.
$recurrences = Get-AdlJobRecurrence -Account $adla
$recurrence = Get-AdlJobRecurrence -Account $adla -RecurrenceId "<recurrence ID>"
إدارة نهج الحساب
سرد نهج الحوسبة الموجودة
يسترد Get-AdlAnalyticsComputePolicy
cmdlet معلومات حول نهج الحوسبة لحساب Data Lake Analytics.
$policies = Get-AdlAnalyticsComputePolicy -Account $adla
إنشاء نهج حساب
New-AdlAnalyticsComputePolicy
ينشئ cmdlet نهج حساب جديد لحساب Data Lake Analytics. يعين هذا المثال الحد الأقصى لوحدات AUs المتوفرة للمستخدم المحدد إلى 50، والحد الأدنى لأولوية الوظيفة إلى 250.
$userObjectId = (Get-AzAdUser -SearchString "garymcdaniel@contoso.com").Id
New-AdlAnalyticsComputePolicy -Account $adla -Name "GaryMcDaniel" -ObjectId $objectId -ObjectType User -MaxDegreeOfParallelismPerJob 50 -MinPriorityPerJob 250
إدارة الملفات
التحقق من وجود ملف
Test-AdlStoreItem -Account $adls -Path "/data.csv"
التحميل والتنزيل
تحميل ملف.
Import-AdlStoreItem -AccountName $adls -Path "c:\data.tsv" -Destination "/data_copy.csv"
تحميل مجلد بأكمله بشكل متكرر.
Import-AdlStoreItem -AccountName $adls -Path "c:\myData\" -Destination "/myData/" -Recurse
قم بتنزيل ملف.
Export-AdlStoreItem -AccountName $adls -Path "/data.csv" -Destination "c:\data.csv"
قم بتنزيل مجلد بأكمله بشكل متكرر.
Export-AdlStoreItem -AccountName $adls -Path "/" -Destination "c:\myData\" -Recurse
ملاحظة
إذا تمت مقاطعة عملية التحميل أو التنزيل، يمكنك محاولة استئناف العملية عن طريق تشغيل cmdlet مرة أخرى مع العلامة -Resume
.
إدارة كتالوج U-SQL
يتم استخدام كتالوج U-SQL لهيكلة البيانات والرمز بحيث يمكن مشاركتها بواسطة البرامج النصية U-SQL. يتيح الكتالوج أعلى أداء ممكن مع البيانات في Azure Data Lake. لمزيد من المعلومات، راجع استخدام كتالوج U-SQL.
سرد العناصر في كتالوج 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"
سرد جميع التجميعات كتالوج 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
}
}
الحصول على تفاصيل حول عنصر كتالوج
# 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"
تخزين بيانات الاعتماد في الكتالوج
داخل قاعدة بيانات U-SQL، قم بإنشاء عنصر بيانات اعتماد لقاعدة بيانات مستضافة في Azure. حاليا، بيانات اعتماد U-SQL هي النوع الوحيد من عناصر الكتالوج التي يمكنك إنشاؤها من خلال 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
إدارة قواعد جدار الحماية
سرد قواعد جدار الحماية
Get-AdlAnalyticsFirewallRule -Account $adla
إضافة قاعدة جدار حماية
$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
تعديل قاعدة جدار الحماية
Set-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName -StartIpAddress $startIpAddress -EndIpAddress $endIpAddress
إزالة قاعدة جدار الحماية
Remove-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName
السماح بعناوين Azure IP
Set-AdlAnalyticsAccount -Name $adla -AllowAzureIpState Enabled
Set-AdlAnalyticsAccount -Name $adla -FirewallState Enabled
Set-AdlAnalyticsAccount -Name $adla -FirewallState Disabled
العمل مع Azure
الحصول على تفاصيل الخطأ
Resolve-AzError -Last
تحقق مما إذا كنت تعمل كمسؤول على جهاز Windows الخاص بك
function Test-Administrator
{
$user = [Security.Principal.WindowsIdentity]::GetCurrent();
$p = New-Object Security.Principal.WindowsPrincipal $user
$p.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
}
البحث عن TenantID
من اسم اشتراك:
function Get-TenantIdFromSubscriptionName( [string] $subname )
{
$sub = (Get-AzSubscription -SubscriptionName $subname)
$sub.TenantId
}
Get-TenantIdFromSubscriptionName "ADLTrainingMS"
من معرف الاشتراك:
function Get-TenantIdFromSubscriptionId( [string] $subid )
{
$sub = (Get-AzSubscription -SubscriptionId $subid)
$sub.TenantId
}
$subid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Get-TenantIdFromSubscriptionId $subid
من عنوان مجال مثل "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
سرد جميع الاشتراكات ومعرفات المستأجر
$subs = Get-AzSubscription
foreach ($sub in $subs)
{
Write-Host $sub.Name "(" $sub.Id ")"
Write-Host "`tTenant Id" $sub.TenantId
}
الخطوات التالية
- نظرة عامة على Microsoft Azure Data Lake Analytics
- بدء استخدام Data Lake Analytics باستخدام مدخل | MicrosoftAzure Azure PowerShell | Azure CLI
- إدارة Azure Data Lake Analytics باستخدام مدخل Microsoft Azure | Azure PowerShell | CLI