Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Importante
O Azure Data Lake Analytics foi desativado em 29 de fevereiro de 2024. Saiba mais com este anúncio.
Para análise de dados, sua organização pode usar o Azure Synapse Analytics ou o Microsoft Fabric.
Este artigo descreve como gerenciar contas, fontes de dados, usuários e trabalhos do Azure Data Lake Analytics usando o Azure PowerShell.
Pré-requisitos
Observação
Recomendamos que utilize o módulo do Azure Az PowerShell para interagir com o Azure. Veja Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.
Para usar o PowerShell com a Análise Data Lake, colete as seguintes informações:
- ID de Subscrição: A ID da subscrição do Azure que contém a sua conta do Data Lake Analytics.
- Grupo de recursos: O nome do grupo de recursos do Azure que contém sua conta do Data Lake Analytics.
- O nome da conta do Data Lake Analytics: O nome da sua conta do Data Lake Analytics.
- Nome da conta padrão do Repositório Data Lake: Cada conta do Data Lake Analytics tem uma conta padrão do Repositório Data Lake.
- Localização: A localização da sua conta do Data Lake Analytics, como "East US 2" ou outras localizações suportadas.
Os trechos do PowerShell neste tutorial usam essas variáveis para armazenar essas informações
$subId = "<SubscriptionId>"
$rg = "<ResourceGroupName>"
$adla = "<DataLakeAnalyticsAccountName>"
$adls = "<DataLakeStoreAccountName>"
$location = "<Location>"
Iniciar sessão no Azure
Faça login usando autenticação de usuário interativa
Iniciar sessão utilizando um ID de subscrição ou por nome de subscrição
# Using subscription id
Connect-AzAccount -SubscriptionId $subId
# Using subscription name
Connect-AzAccount -SubscriptionName $subname
Guardar contexto de autenticação
O cmdlet Connect-AzAccount sempre solicita credenciais. Você pode evitar ser solicitado usando os seguintes cmdlets:
# Save login session information
Save-AzAccounts -Path D:\profile.json
# Load login session information
Select-AzAccounts -Path D:\profile.json
Efetuar login usando uma SPI (Service Principal Identity, identidade da entidade de serviço)
$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 contas
Lista de contas
# 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 conta
Cada conta do Data Lake Analytics requer uma conta padrão do Repositório Data Lake que ele usa para armazenar logs. Pode reutilizar uma conta existente ou criar uma conta.
# 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 conta
Obtenha detalhes sobre uma conta.
Get-AdlAnalyticsAccount -Name $adla
Verificar se existe uma conta
Test-AdlAnalyticsAccount -Name $adla
Gerir origens de dados
Atualmente, o Azure Data Lake Analytics dá suporte às seguintes fontes de dados:
Cada conta do Data Lake Analytics tem uma conta padrão do Repositório Data Lake. A conta padrão do Data Lake Store é usada para armazenar metadados de tarefas e logs de auditoria de tarefas.
Localizar a conta padrão do Repositório Data Lake
$adla_acct = Get-AdlAnalyticsAccount -Name $adla
$dataLakeStoreName = $adla_acct.DefaultDataLakeAccount
Você pode encontrar a conta padrão do Repositório Data Lake filtrando a lista de fontes de dados pela propriedade IsDefault:
Get-AdlAnalyticsDataSource -Account $adla | ? { $_.IsDefault }
Adicionar uma fonte de dados
# 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 dados
# 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 U-SQL
Enviar uma cadeia de caracteres como um trabalho 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"
Enviar um arquivo como um trabalho U-SQL
$scriptpath = "d:\test.usql"
$script | Out-File $scriptpath
Submit-AdlJob -AccountName $adla –ScriptPath $scriptpath -Name "Demo"
Listar vagas
A saída inclui os trabalhos que estão em execução atualmente e os que foram concluídos recentemente.
Get-AdlJob -Account $adla
Listar os principais N trabalhos
Por padrão, a lista de trabalhos é classificada no tempo de envio. Assim, os trabalhos enviados mais recentemente aparecem primeiro. Por padrão, a conta ADLA lembra trabalhos por 180 dias, mas o cmdlet Get-AdlJob por padrão retorna apenas os primeiros 500. Use -Top parâmetro para listar um número específico de trabalhos.
$jobs = Get-AdlJob -Account $adla -Top 10
Listar trabalhos por estado do trabalho
Usando o parâmetro -State. Você pode combinar qualquer um destes valores:
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
Listar trabalhos por resultado do trabalho
Use o parâmetro -Result para determinar se os trabalhos concluídos foram bem sucedidos. Tem os seguintes valores:
- Cancelado
- Falhou
- Nenhum
- Teve sucesso
# 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 autor de trabalho
O parâmetro -Submitter ajuda a identificar quem enviou um trabalho.
Get-AdlJob -Account $adla -Submitter "joe@contoso.com"
Listar trabalhos por tempo de envio
O -SubmittedAfter é útil para filtrar por um intervalo de tempo.
# 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 de trabalho
Obtenha o status de um trabalho específico.
Get-AdlJob -AccountName $adla -JobId $job.JobId
Cancelar um trabalho
Stop-AdlJob -Account $adla -JobID $jobID
Aguarde até que um trabalho termine
Em vez de repetir Get-AdlAnalyticsJob até que um trabalho seja concluído, você pode usar o cmdlet Wait-AdlJob para aguardar o término do trabalho.
Wait-AdlJob -Account $adla -JobId $job.JobId
Listar fluxos de trabalho e recorrências
Use o cmdlet Get-AdlJobPipeline para ver as informações de pipeline das tarefas submetidas anteriormente.
$pipelines = Get-AdlJobPipeline -Account $adla
$pipeline = Get-AdlJobPipeline -Account $adla -PipelineId "<pipeline ID>"
Use o cmdlet Get-AdlJobRecurrence para ver as informações de recorrência de trabalhos enviados anteriormente.
$recurrences = Get-AdlJobRecurrence -Account $adla
$recurrence = Get-AdlJobRecurrence -Account $adla -RecurrenceId "<recurrence ID>"
Gerenciar políticas de computação
Listar políticas de computação existentes
O cmdlet Get-AdlAnalyticsComputePolicy recupera informações sobre políticas de computação para uma conta do Data Lake Analytics.
$policies = Get-AdlAnalyticsComputePolicy -Account $adla
Criar uma política de computação
O cmdlet New-AdlAnalyticsComputePolicy cria uma nova política de computação para uma conta do Data Lake Analytics. Este exemplo define o máximo de AUs disponíveis para o usuário especificado como 50 e a prioridade mínima do trabalho como 250.
$userObjectId = (Get-AzAdUser -SearchString "garymcdaniel@contoso.com").Id
New-AdlAnalyticsComputePolicy -Account $adla -Name "GaryMcDaniel" -ObjectId $objectId -ObjectType User -MaxDegreeOfParallelismPerJob 50 -MinPriorityPerJob 250
Gerenciar arquivos
Verificar a existência de um ficheiro
Test-AdlStoreItem -Account $adls -Path "/data.csv"
Carregamento e descarga
Carregue um ficheiro.
Import-AdlStoreItem -AccountName $adls -Path "c:\data.tsv" -Destination "/data_copy.csv"
Carregue uma pasta inteira recursivamente.
Import-AdlStoreItem -AccountName $adls -Path "c:\myData\" -Destination "/myData/" -Recurse
Faça o download de um arquivo.
Export-AdlStoreItem -AccountName $adls -Path "/data.csv" -Destination "c:\data.csv"
Faça o download de uma pasta inteira recursivamente.
Export-AdlStoreItem -AccountName $adls -Path "/" -Destination "c:\myData\" -Recurse
Observação
Se o processo de upload ou download for interrompido, você poderá tentar retomá-lo executando o cmdlet novamente com o sinalizador -Resume.
Gerenciar o catálogo U-SQL
O catálogo U-SQL é usado para estruturar dados e código para que possam ser compartilhados por scripts U-SQL. O catálogo permite o maior desempenho possível com dados no Azure Data Lake. Para obter mais informações, consulte Utilize o catálogo U-SQL.
Listar itens no catálogo 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"
Listar todos os assemblies do catálogo 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
}
}
Obter detalhes sobre um item de catálogo
# 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álogo
Em um banco de dados U-SQL, crie um objeto de credencial para um banco de dados hospedado no Azure. Atualmente, as credenciais U-SQL são o único tipo de item de catálogo que você pode criar por meio do 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
Gerir regras do firewall
Listar regras de firewall
Get-AdlAnalyticsFirewallRule -Account $adla
Adicionar uma regra de 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
Modificar uma regra de firewall
Set-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName -StartIpAddress $startIpAddress -EndIpAddress $endIpAddress
Remover uma regra de firewall
Remove-AdlAnalyticsFirewallRule -Account $adla -Name $ruleName
Permitir endereços IP do Azure
Set-AdlAnalyticsAccount -Name $adla -AllowAzureIpState Enabled
Set-AdlAnalyticsAccount -Name $adla -FirewallState Enabled
Set-AdlAnalyticsAccount -Name $adla -FirewallState Disabled
Trabalhar com o Azure
Obter detalhes do erro
Resolve-AzError -Last
Verifique se você está executando como um administrador em sua máquina Windows
function Test-Administrator
{
$user = [Security.Principal.WindowsIdentity]::GetCurrent();
$p = New-Object Security.Principal.WindowsPrincipal $user
$p.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
}
Encontre um TenantID
Partindo de um nome de subscrição:
function Get-TenantIdFromSubscriptionName( [string] $subname )
{
$sub = (Get-AzSubscription -SubscriptionName $subname)
$sub.TenantId
}
Get-TenantIdFromSubscriptionName "ADLTrainingMS"
A partir de um ID de subscrição:
function Get-TenantIdFromSubscriptionId( [string] $subid )
{
$sub = (Get-AzSubscription -SubscriptionId $subid)
$sub.TenantId
}
$subid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Get-TenantIdFromSubscriptionId $subid
A partir de um endereço de domínio como "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 suas assinaturas e IDs de inquilino
$subs = Get-AzSubscription
foreach ($sub in $subs)
{
Write-Host $sub.Name "(" $sub.Id ")"
Write-Host "`tTenant Id" $sub.TenantId
}
Próximos passos
- Visão geral do Microsoft Azure Data Lake Analytics
- Introdução à Análise Data Lake usando o portal do Azure | o Azure PowerShell | o Azure CLI
- Gerir o Azure Data Lake Analytics usando o portal do Azure | o Azure PowerShell | a CLI