Vincule os espaços de trabalho do Azure Synapse Analytics e do Azure Machine Learning e anexe pools do Apache Spark (preterido)
APLICA-SE A: Python SDK azureml v1
Aviso
A integração do Azure Synapse Analytics com o Azure Machine Learning, disponível no Python SDK v1, foi preterida. Os usuários ainda podem usar o espaço de trabalho Synapse, registrado no Azure Machine Learning, como um serviço vinculado. No entanto, já não pode ser registada uma nova área de trabalho do Synapse no Azure Machine Learning como um serviço associado. Recomendamos o uso de computação Spark sem servidor e pools Synapse Spark anexados, disponíveis na CLI v2 e Python SDK v2. Para mais informações, visite https://aka.ms/aml-spark.
Neste artigo, você aprenderá a criar um serviço vinculado que vincula seu espaço de trabalho do Azure Synapse Analytics e o espaço de trabalho do Azure Machine Learning.
Com um espaço de trabalho do Azure Machine Learning, vinculado a um espaço de trabalho do Azure Synapse, você pode anexar um pool do Apache Spark, alimentado pelo Azure Synapse Analytics, como um recurso de computação dedicado. Você pode usar esse recurso para disputa de dados em escala ou pode realizar treinamento de modelo - tudo a partir do mesmo bloco de anotações Python.
Você pode vincular seu espaço de trabalho de ML e o espaço de trabalho Synapse ao SDK do Python ou ao estúdio de Aprendizado de Máquina do Azure. Você também pode vincular espaços de trabalho e anexar um pool Synapse Spark com um único modelo do Azure Resource Manager (ARM).
Pré-requisitos
Instalar o SDK Python do Azure Machine Learning
Crie um pool do Apache Spark usando o portal do Azure, ferramentas da Web ou o Synapse Studio
Acesso ao estúdio do Azure Machine Learning
Vincular espaços de trabalho com o SDK do Python
Importante
Para vincular com êxito ao espaço de trabalho Synapse, você deve receber a função de Proprietário do espaço de trabalho Synapse. Verifique o acesso no portal do Azure.
Se você for apenas um Colaborador do espaço de trabalho Synapse e não tiver um Proprietário para esse espaço de trabalho Synapse, você só poderá usar os serviços vinculados existentes. Para obter mais informações, visite Recuperar e usar um serviço vinculado existente.
Este código emprega as LinkedService
classes e SynapseWorkspaceLinkedServiceConfiguration
, para
- Vincular seu espaço de trabalho
ws
de aprendizado de máquina ao espaço de trabalho do Azure Synapse - Registrar seu espaço de trabalho Synapse com o Azure Machine Learning como um serviço vinculado
import datetime
from azureml.core import Workspace, LinkedService, SynapseWorkspaceLinkedServiceConfiguration
# Azure Machine Learning workspace
ws = Workspace.from_config()
#link configuration
synapse_link_config = SynapseWorkspaceLinkedServiceConfiguration(
subscription_id=ws.subscription_id,
resource_group= 'your resource group',
name='mySynapseWorkspaceName')
# Link workspaces and register Synapse workspace in Azure Machine Learning
linked_service = LinkedService.register(workspace = ws,
name = 'synapselink1',
linked_service_config = synapse_link_config)
Importante
A identidade system_assigned_identity_principal_id
gerenciada é criada para cada serviço vinculado. Você deve conceder a essa identidade gerenciada a função Synapse Apache Spark Administrator do espaço de trabalho Synapse antes de iniciar sua sessão Synapse. Para obter mais informações, visite Como gerenciar atribuições RBAC do Azure Synapse no Synapse Studio.
Para encontrar o system_assigned_identity_principal_id
de um serviço vinculado específico, use LinkedService.get('<your-mlworkspace-name>', '<linked-service-name>')
.
Gerenciar serviços vinculados
Veja todos os serviços vinculados associados ao seu espaço de trabalho de aprendizado de máquina:
LinkedService.list(ws)
Para desvincular seus espaços de trabalho, use o unregister()
método:
linked_service.unregister()
Vincular espaços de trabalho via estúdio
Vincule seu espaço de trabalho de aprendizado de máquina e o espaço de trabalho Synapse por meio do estúdio de Aprendizado de Máquina do Azure:
Entre no estúdio do Azure Machine Learning
Selecione Serviços Vinculados na seção Gerenciar do painel esquerdo
Selecione Adicionar integração
No formulário Espaço de trabalho Link, preencha os campos
Campo Descrição Name Forneça um nome para o serviço vinculado. As referências a este serviço vinculado específico usam este nome Nome da subscrição Selecione o nome da sua subscrição associada à sua área de trabalho de aprendizagem automática Área de trabalho do Azure Synapse Selecione o espaço de trabalho Synapse ao qual você deseja vincular Selecione Avançar para abrir o formulário Selecionar pools de faíscas (opcional). Neste formulário, você seleciona qual pool Synapse Spark anexar ao seu espaço de trabalho
Selecione Avançar para abrir o formulário Revisão e verificar suas seleções
Selecione Criar para concluir o processo de criação do serviço vinculado
Obter um serviço vinculado existente
Antes de anexar uma computação dedicada para disputa de dados, você deve ter um espaço de trabalho de aprendizado de máquina vinculado a um espaço de trabalho do Azure Synapse Analytics. Referimo-nos a este espaço de trabalho como um serviço ligado. A recuperação e o uso de um serviço vinculado existente exigem permissões de Usuário ou Colaborador para o espaço de trabalho do Azure Synapse Analytics.
Este exemplo recupera um serviço vinculado existente - synapselink1
- do espaço de trabalho ws
, com o get()
método:
from azureml.core import LinkedService
linked_service = LinkedService.get(ws, 'synapselink1')
Anexar o pool Synapse Spark como um cálculo
Depois de recuperar o serviço vinculado, anexe um pool Synapse Apache Spark como um recurso de computação dedicado para suas tarefas de disputa de dados. Você pode anexar pools Apache Spark com
- Azure Machine Learning Studio
- Modelos do Azure Resource Manager (ARM)
- O SDK Python do Azure Machine Learning
Anexe uma piscina através do estúdio
- Entre no estúdio do Azure Machine Learning
- Selecione Serviços Vinculados na seção Gerenciar do painel esquerdo
- Selecione seu espaço de trabalho Synapse
- Selecione Piscinas de faíscas anexadas no canto superior esquerdo
- Selecione Anexar
- Selecione seu pool Apache Spark na lista e forneça um nome
- Esta lista identifica os pools Synapse Spark disponíveis que podem ser anexados à sua computação
- Para criar um novo pool do Synapse Spark, consulte Guia de início rápido: criar um novo pool do Apache Spark sem servidor usando o portal do Azure
- Selecione Anexar selecionado
Anexar um pool com o Python SDK
Você também pode empregar o SDK do Python para anexar um pool do Apache Spark, conforme mostrado neste exemplo de código:
from azureml.core.compute import SynapseCompute, ComputeTarget
attach_config = SynapseCompute.attach_configuration(linked_service, #Linked synapse workspace alias
type='SynapseSpark', #Type of assets to attach
pool_name=synapse_spark_pool_name) #Name of Synapse spark pool
synapse_compute = ComputeTarget.attach(workspace= ws,
name= synapse_compute_name,
attach_configuration= attach_config
)
synapse_compute.wait_for_completion()
Verifique se o pool do Apache Spark está conectado.
ws.compute_targets['Synapse Spark pool alias']
Este código
Configura o
SynapseCompute
com- O
LinkedService
,linked_service
que você criou ou recuperou na etapa anterior - O tipo de destino de computação que você deseja anexar - neste caso,
SynapseSpark
- O nome do pool do Apache Spark. O nome deve corresponder a um pool Apache Spark existente no espaço de trabalho do Azure Synapse Analytics
- O
Cria um aprendizado de
ComputeTarget
máquina passando- O espaço de trabalho de aprendizado de máquina que você deseja usar,
ws
- O nome que você gostaria de usar para se referir à computação no espaço de trabalho do Azure Machine Learning
- O attach_configuration especificado quando configurou o Synapse Compute
- A chamada para ComputeTarget.attach() é assíncrona, portanto, a execução do exemplo é bloqueada até que a chamada seja concluída
- O espaço de trabalho de aprendizado de máquina que você deseja usar,