Länka Azure Synapse Analytics- och Azure Machine Learning-arbetsytor och bifoga Apache Spark-pooler (inaktuella)
GÄLLER FÖR:Python SDK azureml v1
Varning
Azure Synapse Analytics-integreringen med Azure Machine Learning som är tillgänglig i Python SDK v1 är inaktuell. Användare kan fortsätta att använda Synapse-arbetsytan som registrerats med Azure Machine Learning som en länkad tjänst. En ny Synapse-arbetsyta kan dock inte längre registreras med Azure Machine Learning som en länkad tjänst. Vi rekommenderar att du använder Hanterad (automatisk) Synapse-beräkning och anslutna Synapse Spark-pooler som är tillgängliga i CLI v2 och Python SDK v2. https://aka.ms/aml-spark Mer information finns i.
I den här artikeln får du lära dig hur du skapar en länkad tjänst som länkar din Azure Synapse Analytics-arbetsyta och Azure Machine Learning-arbetsyta.
Med din Azure Machine Learning-arbetsyta länkad till din Azure Synapse arbetsyta kan du ansluta en Apache Spark-pool som drivs av Azure Synapse Analytics som en dedikerad beräkning för dataomvandling i stor skala eller utföra modellträning från samma Python-notebook-fil.
Du kan länka ML-arbetsytan och Synapse-arbetsytan via Python SDK eller Azure Machine Learning-studio.
Du kan också länka arbetsytor och koppla en Synapse Spark-pool med en enda Arm-mall (Azure Resource Manager).
Förutsättningar
Skapa Apache Spark-pool med Azure Portal, webbverktyg eller Synapse Studio
Installera Azure Machine Learning Python SDK
Åtkomst till Azure Machine Learning-studio.
Länka arbetsytor med Python SDK
Viktigt
Om du vill länka till Synapse-arbetsytan måste du beviljas rollen Ägare för Synapse-arbetsytan. Kontrollera din åtkomst i Azure Portal.
Om du inte är ägare och bara är deltagare i Synapse-arbetsytan kan du bara använda befintliga länkade tjänster. Se hur du hämtar och använder en befintlig länkad tjänst.
Följande kod använder LinkedService
klasserna och SynapseWorkspaceLinkedServiceConfiguration
för att,
- Länka din maskininlärningsarbetsyta
ws
med din Azure Synapse arbetsyta. - Registrera din Synapse-arbetsyta med Azure Machine Learning som en länkad tjänst.
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)
Viktigt
En hanterad identitet, system_assigned_identity_principal_id
, skapas för varje länkad tjänst. Den här hanterade identiteten måste beviljas Synapse Apache Spark-administratörsrollen för Synapse-arbetsytan innan du startar Synapse-sessionen. Tilldela Rollen Synapse Apache Spark-administratör till den hanterade identiteten i Synapse Studio.
Om du vill hitta en system_assigned_identity_principal_id
specifik länkad tjänst använder du LinkedService.get('<your-mlworkspace-name>', '<linked-service-name>')
.
Hantera länkade tjänster
Visa alla länkade tjänster som är associerade med din maskininlärningsarbetsyta.
LinkedService.list(ws)
Om du vill ta bort länken till dina arbetsytor använder du unregister()
metoden
linked_service.unregister()
Länka arbetsytor via studio
Länka din maskininlärningsarbetsyta och Synapse-arbetsyta via Azure Machine Learning-studio med följande steg:
Logga in på Azure Machine Learning-studio.
Välj Länkade tjänster i avsnittet Hantera i det vänstra fönstret.
Välj Lägg till integrering.
I formuläret Länka arbetsyta fyller du i fälten
Fält Beskrivning Name Ange ett namn för den länkade tjänsten. Det här namnet används för att referera till den här länkade tjänsten. Prenumerationens namn Välj namnet på din prenumeration som är associerad med din maskininlärningsarbetsyta. Synapse-arbetsyta Välj den Synapse-arbetsyta som du vill länka till. Välj Nästa för att öppna formuläret Välj Spark-pooler (valfritt). I det här formuläret väljer du vilken Synapse Spark-pool som ska kopplas till din arbetsyta
Välj Nästa för att öppna formuläret Granska och kontrollera dina val.
Välj Skapa för att slutföra processen för att skapa länkad tjänst.
Hämta en befintlig länkad tjänst
Innan du kan koppla en dedikerad beräkning för dataomvandling måste du ha en ML-arbetsyta som är länkad till en Azure Synapse Analytics-arbetsyta, detta kallas för en länkad tjänst.
För att hämta och använda en befintlig länkad tjänst kräver användar- eller deltagarbehörighet till arbetsytan Azure Synapse Analytics.
Det här exemplet hämtar en befintlig länkad tjänst, synapselink1
, från arbetsytan, ws
med get()
metoden .
from azureml.core import LinkedService
linked_service = LinkedService.get(ws, 'synapselink1')
Bifoga Synapse Spark-pool som en beräkning
När du har hämtat den länkade tjänsten bifogar du en Synapse Apache Spark-pool som en dedikerad beräkningsresurs för dina dataomvandlingsuppgifter.
Du kan koppla Apache Spark-pooler via,
- Azure Machine Learning-studio
- Azure Resource Manager-mallar (ARM)
- The Azure Machine Learning Python SDK
Koppla en pool via studion
Följ de här stegen:
- Logga in på Azure Machine Learning-studio.
- Välj Länkade tjänster i avsnittet Hantera i det vänstra fönstret.
- Välj din Synapse-arbetsyta.
- Välj Anslutna Spark-pooler längst upp till vänster.
- Välj Bifoga.
- Välj din Apache Spark-pool i listan och ange ett namn.
- Den här listan identifierar tillgängliga Synapse Spark-pooler som kan kopplas till din beräkning.
- Information om hur du skapar en ny Synapse Spark-pool finns i Skapa Apache Spark-pool med Synapse Studio
- Välj Bifoga markerad.
Koppla en pool med Python SDK
Du kan också använda Python SDK för att ansluta en Apache Spark-pool.
Följande kod,
Konfigurerar
SynapseCompute
med,- Det
LinkedService
,linked_service
som du antingen skapade eller hämtade i föregående steg. - Den typ av beräkningsmål som du vill koppla,
SynapseSpark
- Namnet på Apache Spark-poolen. Detta måste matcha en befintlig Apache Spark-pool som finns på din Azure Synapse Analytics-arbetsyta.
- Det
Skapar en maskininlärning
ComputeTarget
genom att skicka in,- Den maskininlärningsarbetsyta som du vill använda,
ws
- Namnet som du vill referera till beräkningen på Azure Machine Learning-arbetsytan.
- Den attach_configuration som du angav när du konfigurerade Synapse Compute.
- Anropet till ComputeTarget.attach() är asynkront, så exempelblocken tills anropet har slutförts.
- Den maskininlärningsarbetsyta som du vill använda,
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()
Kontrollera att Apache Spark-poolen är ansluten.
ws.compute_targets['Synapse Spark pool alias']