Gerenciar a Análise Azure Data Lake usando o Azure PowerShellManage Azure Data Lake Analytics using Azure PowerShell
Este artigo descreve como gerenciar contas, fontes de dados, usuários e trabalhos do Azure Data Lake Analytics usando o Azure PowerShell.This article describes how to manage Azure Data Lake Analytics accounts, data sources, users, and jobs by using Azure PowerShell.
Pré-requisitosPrerequisites
Observação
Este artigo foi atualizado para usar o novo módulo Az do Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Você ainda pode usar o módulo AzureRM, que continuará a receber as correções de bugs até pelo menos dezembro de 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Para saber mais sobre o novo módulo Az e a compatibilidade com o AzureRM, confira Apresentação do novo módulo Az do Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Para obter instruções de instalação do módulo Az, confira Instalar o Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.
Para usar o PowerShell com o Data Lake Analytics, colete as seguintes informações:To use PowerShell with Data Lake Analytics, collect the following pieces of information:
- ID da assinatura: ID da assinatura do Azure que contém sua conta do Data Lake Analytics.Subscription ID: The ID of the Azure subscription that contains your Data Lake Analytics account.
- Grupo de recursos: o nome do grupo de recursos do Azure que contém sua conta do Data Lake Analytics.Resource group: The name of the Azure resource group that contains your Data Lake Analytics account.
- Nome da conta do Data Lake Analytics: O nome da conta do Data Lake Analytics.Data Lake Analytics account name: The name of your Data Lake Analytics account.
- Nome da conta padrão do Data Lake Store: Cada conta do Data Lake Analytics requer uma conta padrão do Data Lake Store.Default Data Lake Store account name: Each Data Lake Analytics account has a default Data Lake Store account.
- Localização: a localização sua conta do Data Lake Analytics, como "Leste dos EUA 2" ou outros locais com suporte.Location: The location of your Data Lake Analytics account, such as "East US 2" or other supported locations.
Os snippets do PowerShell neste tutorial usam essas variáveis para armazenar essas informaçõesThe PowerShell snippets in this tutorial use these variables to store this information
$subId = "<SubscriptionId>"
$rg = "<ResourceGroupName>"
$adla = "<DataLakeAnalyticsAccountName>"
$adls = "<DataLakeStoreAccountName>"
$location = "<Location>"
Fazer logon no AzureLog in to Azure
Entrar usando autenticação de usuário interativoLog in using interactive user authentication
Entrar usando uma ID de assinatura ou o nome da assinaturaLog in using a subscription ID or by subscription name
# Using subscription id
Connect-AzAccount -SubscriptionId $subId
# Using subscription name
Connect-AzAccount -SubscriptionName $subname
Salvando o contexto de autenticaçãoSaving authentication context
O cmdlet Connect-AzAccount
sempre solicita as credenciais.The Connect-AzAccount
cmdlet always prompts for credentials. Você pode evitar o recebimento de avisos usando os cmdlets a seguir:You can avoid being prompted by using the following cmdlets:
# Save login session information
Save-AzAccounts -Path D:\profile.json
# Load login session information
Select-AzAccounts -Path D:\profile.json
Fazer logon usando uma SPI (Identidade de Entidade de Serviço)Log in using a Service Principal Identity (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
Gerenciar ContasManage accounts
Listar contasList accounts
# 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
Criar uma contaCreate an account
Toda conta do Data Lake Analytics requer uma conta padrão do Data Lake Store usada para o armazenamento de logs.Every Data Lake Analytics account requires a default Data Lake Store account that it uses for storing logs. Você pode reutilizar uma conta existente ou criar uma.You can reuse an existing account or create an account.
# 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
Obter Informações da contaGet account information
Obtenha detalhes sobre uma conta.Get details about an account.
Get-AdlAnalyticsAccount -Name $adla
Verificar se a conta existeCheck if an account exists
Test-AdlAnalyticsAccount -Name $adla
Gerenciar as fontes de dadosManage data sources
No momento, o Azure Data Lake Analytics dá suporte às seguintes fontes de dados:Azure Data Lake Analytics currently supports the following data sources:
Toda conta do Data Lake Analytics requer uma conta padrão do Data Lake Store.Every Data Lake Analytics account has a default Data Lake Store account. A conta padrão do Repositório Data Lake é usada para armazenar metadados de trabalho e logs de auditoria de trabalho.The default Data Lake Store account is used to store job metadata and job audit logs.
Encontrar a conta padrão do Repositório Data LakeFind the default Data Lake Store account
$adla_acct = Get-AdlAnalyticsAccount -Name $adla
$dataLakeStoreName = $adla_acct.DefaultDataLakeAccount
É possível localizar a conta Data Lake Store padrão filtrando a lista de fontes de dados pela propriedade IsDefault
:You can find the default Data Lake Store account by filtering the list of datasources by the IsDefault
property:
Get-AdlAnalyticsDataSource -Account $adla | ? { $_.IsDefault }
Adicionar uma fonte de dadosAdd a data source
# 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
Listar fontes de dadosList data sources
# 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"
Enviar trabalhos de U-SQLSubmit U-SQL jobs
Enviar uma cadeia de caracteres como um script U-SQLSubmit a string as a U-SQL job
$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"
Enviar um arquivo como um script U-SQLSubmit a file as a U-SQL job
$scriptpath = "d:\test.usql"
$script | Out-File $scriptpath
Submit-AdlJob -AccountName $adla –ScriptPath $scriptpath -Name "Demo"
Listar trabalhosList jobs
A saída inclui os trabalhos em execução no momento e os trabalhos que foram concluídos recentemente.The output includes the currently running jobs and those jobs that have recently completed.
Get-AdlJob -Account $adla
Listar os melhores trabalhos NList the top N jobs
Por padrão, a lista de trabalhos é classificada na hora do envio.By default the list of jobs is sorted on submit time. Portanto, os trabalhos enviados mais recentemente aparecem primeiro.So the most recently submitted jobs appear first. Por padrão, a conta do ADLA recorda trabalhos por 180 dias, mas o cmdlet Get-AdlJob por padrão retorna apenas os 500 primeiros.By default, The ADLA account remembers jobs for 180 days, but the Get-AdlJob cmdlet by default returns only the first 500. Use o parâmetro -Top para listar um número específico de trabalhos.Use -Top parameter to list a specific number of jobs.
$jobs = Get-AdlJob -Account $adla -Top 10
Listar trabalhos pelo estado do trabalhoList jobs by job state
Utilizar o parâmetro -State
.Using the -State
parameter. É possível combinar qualquer um desses valores:You can combine any of these values:
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
Listar trabalhos por resultado do trabalhoList jobs by job result
Utilize o parâmetro -Result
para detectar se os trabalhos finalizados foram concluídos com êxito.Use the -Result
parameter to detect whether ended jobs completed successfully. O parâmetro possui esses valores:It has these values:
- CanceladoCancelled
- Com falhaFailed
- NenhumNone
- Bem-sucedidaSucceeded
# List Successful jobs.
Get-AdlJob -Account $adla -State Ended -Result Succeeded
# List Failed jobs.
Get-AdlJob -Account $adla -State Ended -Result Failed
Listar trabalhos por emissor do trabalhoList jobs by job submitter
O parâmetro -Submitter
ajuda a identificar quem enviou um trabalho.The -Submitter
parameter helps you identify who submitted a job.
Get-AdlJob -Account $adla -Submitter "joe@contoso.com"
Listar trabalhos por hora de envioList jobs by submission time
O -SubmittedAfter
é útil na filtragem para um intervalo de tempo.The -SubmittedAfter
is useful in filtering to a time range.
# 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
Obter status do trabalhoGet job status
Obter o status de um trabalho específico.Get the status of a specific job.
Get-AdlJob -AccountName $adla -JobId $job.JobId
Cancelar um trabalhoCancel a job
Stop-AdlJob -Account $adla -JobID $jobID
Aguardar até que um trabalho seja concluídoWait for a job to finish
Em vez de repetir Get-AdlAnalyticsJob
até que um trabalho seja concluído, você pode usar o cmdlet Wait-AdlJob
para aguardar o trabalho ser encerrado.Instead of repeating Get-AdlAnalyticsJob
until a job finishes, you can use the Wait-AdlJob
cmdlet to wait for the job to end.
Wait-AdlJob -Account $adla -JobId $job.JobId
Analisar o histórico do trabalhoAnalyzing job history
Usar o Azure PowerShell para analisar o histórico de trabalhos que foram executados no Data Lake Analytics é uma técnica poderosa.Using Azure PowerShell to analyze the history of jobs that have run in Data Lake analytics is a powerful technique. Você pode usá-lo para obter informações sobre o uso e o custo.You can use it to gain insights into usage and cost. Você pode saber mais examinando o repositório de exemplo de análise do histórico do trabalhoYou can learn more by looking at the Job History Analysis sample repo
Listar pipelines e recorrências do trabalhoList job pipelines and recurrences
Utilize o cmdlet Get-AdlJobPipeline
para consultar as informações de pipeline para trabalhos enviados anteriormente.Use the Get-AdlJobPipeline
cmdlet to see the pipeline information previously submitted jobs.
$pipelines = Get-AdlJobPipeline -Account $adla
$pipeline = Get-AdlJobPipeline -Account $adla -PipelineId "<pipeline ID>"
Utilize o cmdlet Get-AdlJobRecurrence
para consultar as informações de recorrência para trabalhos enviados anteriormente.Use the Get-AdlJobRecurrence
cmdlet to see the recurrence information for previously submitted jobs.
$recurrences = Get-AdlJobRecurrence -Account $adla
$recurrence = Get-AdlJobRecurrence -Account $adla -RecurrenceId "<recurrence ID>"
Gerenciar políticas de computaçãoManage compute policies
Listar as políticas de computação existentesList existing compute policies
O cmdlet Get-AdlAnalyticsComputePolicy
recupera informações sobre políticas de computação para uma conta do Data Lake Analytics.The Get-AdlAnalyticsComputePolicy
cmdlet retrieves info about compute policies for a Data Lake Analytics account.
$policies = Get-AdlAnalyticsComputePolicy -Account $adla
Criar uma política de computaçãoCreate a compute policy
O cmdlet New-AdlAnalyticsComputePolicy
cria uma nova política de computação para uma conta do Data Lake Analytics.The New-AdlAnalyticsComputePolicy
cmdlet creates a new compute policy for a Data Lake Analytics account. Esse exemplo define como 50 as AUs máximas disponíveis ao usuário especificado e a prioridade de trabalho mínima como 250.This example sets the maximum AUs available to the specified user to 50, and the minimum job priority to 250.
$userObjectId = (Get-AzAdUser -SearchString "garymcdaniel@contoso.com").Id
New-AdlAnalyticsComputePolicy -Account $adla -Name "GaryMcDaniel" -ObjectId $objectId -ObjectType User -MaxDegreeOfParallelismPerJob 50 -MinPriorityPerJob 250
Gerenciar arquivosManage files
Verificar a existência de um arquivo.Check for the existence of a file.
Test-AdlStoreItem -Account $adls -Path "/data.csv"
Carregando e baixando arquivosUploading and downloading
Carregar um arquivo.Upload a file.
Import-AdlStoreItem -AccountName $adls -Path "c:\data.tsv" -Destination "/data_copy.csv"
Carregar uma pasta inteira de forma recursiva.Upload an entire folder recursively.
Import-AdlStoreItem -AccountName $adls -Path "c:\myData\" -Destination "/myData/" -Recurse
Baixar um arquivo.Download a file.
Export-AdlStoreItem -AccountName $adls -Path "/data.csv" -Destination "c:\data.csv"
Baixar uma pasta inteira de forma recursiva.Download an entire folder recursively.
Export-AdlStoreItem -AccountName $adls -Path "/" -Destination "c:\myData\" -Recurse
Observação
Se o processo de upload ou de download for interrompido, você poderá tentar retomá-lo executando o cmdlet novamente com o sinalizador -Resume
.If the upload or download process is interrupted, you can attempt to resume the process by running the cmdlet again with the -Resume
flag.
Gerenciar o catálogo do U-SQLManage the U-SQL catalog
O catálogo do U-SQL é usado para estruturar dados e código para que eles possam ser compartilhados por scripts U-SQL.The U-SQL catalog is used to structure data and code so they can be shared by U-SQL scripts. O catálogo possibilita o melhor desempenho possível com dados no Azure Data Lake.The catalog enables the highest performance possible with data in Azure Data Lake. Para saber mais, consulte Usar o Catálogo do U-SQL.For more information, see Use U-SQL catalog.
Itens de lista no catálogo do U-SQLList items in the U-SQL catalog
# 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"
Lista todos os assemblies no catálogo do U-SQLList all the assemblies the U-SQL catalog
$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
}
}
Obter detalhes sobre um item de catálogoGet details about a catalog item
# 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"
Armazenar credenciais no catálogoStore credentials in the catalog
Em um banco de dados U-SQL, crie um objeto de credencial para um banco de dados hospedado no Azure.Within a U-SQL database, create a credential object for a database hosted in Azure. Atualmente, as credenciais do U-SQL são o único tipo de item de catálogo que você pode criar por meio do PowerShell.Currently, U-SQL credentials are the only type of catalog item that you can create through 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
Verificar regras de firewallManage firewall rules
Listar regras de firewallList firewall rules
Get-AdlAnalyticsFirewallRule -Account $adla
Adicione uma regra de firewallAdd a firewall rule
$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
Modificar uma regra de firewallModify a firewall rule
Set-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName -StartIpAddress $startIpAddress -EndIpAddress $endIpAddress
Remova uma regra de firewallRemove a firewall rule
Remove-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName
Permitir endereços IP do AzureAllow Azure IP addresses
Set-AdlAnalyticsAccount -Name $adla -AllowAzureIpState Enabled
Set-AdlAnalyticsAccount -Name $adla -FirewallState Enabled
Set-AdlAnalyticsAccount -Name $adla -FirewallState Disabled
Trabalhando com o AzureWorking with Azure
Obter detalhes do erroGet error details
Resolve-AzError -Last
Verifique se você está executando como um administrador no seu computador com WindowsVerify if you are running as an Administrator on your Windows machine
function Test-Administrator
{
$user = [Security.Principal.WindowsIdentity]::GetCurrent();
$p = New-Object Security.Principal.WindowsPrincipal $user
$p.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
}
Localizar um TenantIDFind a TenantID
De um nome de assinatura:From a subscription name:
function Get-TenantIdFromSubscriptionName( [string] $subname )
{
$sub = (Get-AzSubscription -SubscriptionName $subname)
$sub.TenantId
}
Get-TenantIdFromSubscriptionName "ADLTrainingMS"
De uma ID de assinatura:From a subscription ID:
function Get-TenantIdFromSubscriptionId( [string] $subid )
{
$sub = (Get-AzSubscription -SubscriptionId $subid)
$sub.TenantId
}
$subid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Get-TenantIdFromSubscriptionId $subid
De um endereço de domínio, como "contoso.com"From a domain address such as "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
Listar todas as IDs de assinaturas e de locatárioList all your subscriptions and tenant IDs
$subs = Get-AzSubscription
foreach ($sub in $subs)
{
Write-Host $sub.Name "(" $sub.Id ")"
Write-Host "`tTenant Id" $sub.TenantId
}
Criar uma conta do Data Lake Analytics usando um modeloCreate a Data Lake Analytics account using a template
Você também pode utilizar um modelo do grupo de recursos do Azure usando o seguinte exemplo: Criar uma conta do Data Lake Analytics usando um modeloYou can also use an Azure Resource Group template using the following sample: Create a Data Lake Analytics account using a template
Próximas etapasNext steps
- Visão geral da Análise do Microsoft Azure Data LakeOverview of Microsoft Azure Data Lake Analytics
- Introdução ao Data Lake Analytics usando o Portal do Azure | o Azure PowerShell | a CLI do AzureGet started with Data Lake Analytics using the Azure portal | Azure PowerShell | Azure CLI
- Gerenciar o Azure Data Lake Analytics usando o Portal do Azure | Azure PowerShell | CLIManage Azure Data Lake Analytics using Azure portal | Azure PowerShell | CLI
Comentários
Carregando comentários...