Länka Azure Synapse Analytics och Azure Mašinsko učenje arbetsytor och bifoga Apache Spark-pooler (inaktuella)
GÄLLER FÖR: Python SDK azureml v1
Varning
Azure Synapse Analytics-integreringen med Azure Mašinsko učenje, som är tillgänglig i Python SDK v1, är inaktuell. Användare kan fortfarande använda Synapse-arbetsytan, registrerad med Azure Mašinsko učenje, som en länkad tjänst. Men en ny Synapse-arbetsyta kan inte längre registreras med Azure Machine Learning som en länkad tjänst. Vi rekommenderar att du använder serverlös Spark-beräkning och anslutna Synapse Spark-pooler, som är tillgängliga i CLI v2 och Python SDK v2. Mer information finns på https://aka.ms/aml-spark.
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 Mašinsko učenje arbetsyta.
Med en Azure Mašinsko učenje-arbetsyta som är länkad till en Azure Synapse-arbetsyta kan du koppla en Apache Spark-pool som drivs av Azure Synapse Analytics som en dedikerad beräkningsresurs. Du kan använda den här resursen för dataomvandling i stor skala, eller så kan du utföra modellträning – allt från samma Python-notebook-fil.
Du kan länka DIN ML-arbetsyta och Synapse-arbetsyta med Python SDK eller Azure Mašinsko učenje Studio. Du kan också länka arbetsytor och bifoga en Synapse Spark-pool med en enda Arm-mall (Azure Resource Manager).
Förutsättningar
Skapa en Apache Spark-pool med Hjälp av Azure-portalen, webbverktyg eller Synapse Studio
Åtkomst till Azure Mašinsko učenje 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-portalen.
Om du bara är deltagare i Synapse-arbetsytan och inte har någon ägare för synapse-arbetsytan kan du bara använda befintliga länkade tjänster. Mer information finns i Hämta och använda en befintlig länkad tjänst.
Den här koden använder LinkedService
klasserna och SynapseWorkspaceLinkedServiceConfiguration
för att
- Länka din maskininlärningsarbetsyta
ws
till din Azure Synapse-arbetsyta - Registrera din Synapse-arbetsyta med Azure Mašinsko učenje 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!
Hanterad identitet system_assigned_identity_principal_id
skapas för varje länkad tjänst. Du måste ge den här hanterade identiteten rollen Synapse Apache Spark-administratör för Synapse-arbetsytan innan du startar Synapse-sessionen. Mer information finns i Hantera Azure Synapse RBAC-tilldelningar i Synapse Studio.
Om du vill hitta system_assigned_identity_principal_id
en 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 mellan 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 Mašinsko učenje Studio:
Logga in på Azure Mašinsko učenje Studio
Välj Länkade tjänster i avsnittet Hantera i den vänstra rutan
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. Referenser till den här specifika länkade tjänsten använder det här namnet Prenumerationsnamn 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 granskningsformuläret och kontrollera dina val
Välj Skapa för att slutföra processen för att skapa den länkade tjänsten
Hämta en befintlig länkad tjänst
Innan du kan bifoga en dedikerad beräkning för dataomvandling måste du ha en maskininlärningsarbetsyta länkad till en Azure Synapse Analytics-arbetsyta. Vi refererar till den här arbetsytan som en länkad tjänst. Hämtning och användning av en befintlig länkad tjänst kräver användar- eller deltagarbehörighet till Azure Synapse Analytics-arbetsytan.
Det här exemplet hämtar en befintlig länkad tjänst från synapselink1
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 bifoga Apache Spark-pooler med
- Azure Machine Learning Studio
- Arm-mallar (Azure Resource Manager)
- Azure Mašinsko učenje Python SDK
Koppla en pool via studion
- Logga in på Azure Mašinsko učenje Studio
- Välj Länkade tjänster i avsnittet Hantera i den vänstra rutan
- 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 Snabbstart: Skapa en ny serverlös Apache Spark-pool med hjälp av Azure-portalen
- 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, som du ser i det här kodexemplet:
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']
Den här koden
Konfigurerar
SynapseCompute
medlinked_service
,LinkedService
som du antingen skapade eller hämtade i föregående steg- Den typ av beräkningsmål som du vill koppla – i det här fallet
SynapseSpark
- Namnet på Apache Spark-poolen. Namnet måste matcha en befintlig Apache Spark-pool som finns på din Azure Synapse Analytics-arbetsyta
Skapar en maskininlärning
ComputeTarget
genom att skicka in- Den maskininlärningsarbetsyta som du vill använda,
ws
- Namnet som du vill använda för att referera till beräkningen i Azure Mašinsko učenje-arbetsytan
- Den attach_configuration du angav när du konfigurerade Synapse Compute
- Anropet till ComputeTarget.attach() är asynkront, så exempelkörningen blockeras tills anropet har slutförts
- Den maskininlärningsarbetsyta som du vill använda,