إدارة Azure Data Lake Analytics باستخدام Azure PowerShell
توضح هذه المقالة كيفية إدارة حسابات Azure Data Lake Analytics ومصادر البيانات والمستخدمين والمهام باستخدام Azure PowerShell.
المتطلبات الأساسية
ملاحظة
تستخدم هذه المقالة الوحدة النمطية Azure Az PowerShell، وهي الوحدة النمطية PowerShell الموصى بها للتفاعل مع Azure. لبدء استخدام الوحدة النمطية Az PowerShell، راجع تثبيت 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 Analytics على حساب افتراضي في Data Lake Store.
- الموقع: موقع حسابك في Data Lake Analytics، مثل "East US 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 الافتراضي لتخزين بيانات تعريف الوظيفة وسجلات تدقيق الوظائف.
البحث عن حساب متجر بحيرة البيانات الافتراضي
$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"
تقديم وظائف 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"
إرسال ملف كوظيفة 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 . يمكنك الجمع بين أي من هذه القيم:
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
قائمة الوظائف حسب نتيجة الوظيفة
استخدم المعلمة -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. يعين هذا المثال الحد الأقصى لوحدات AU المتاحة للمستخدم المحدد إلى 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"
Upload مجلد كامل بشكل متكرر.
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
السماح بعناوين IP ل Azure
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)
}
البحث عن معرف مستأجر
من اسم اشتراك:
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
}
إنشاء حساب في Data Lake Analytics باستخدام قالب
يمكنك أيضا استخدام قالب مجموعة موارد Azure باستخدام النموذج التالي: إنشاء حساب Data Lake Analytics باستخدام قالب
الخطوات التالية
- نظرة عامة على Microsoft Azure Data Lake Analytics
- بدء استخدام Data Lake Analytics باستخدام بوابة | AzureAzurePowerShellAzure | CLI
- Manage Azure Data Lake Analytics using Azure portalAzure | PowerShellCLI |