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

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 din maskininlärningsarbetsyta och Synapse-arbetsyta via Azure Machine Learning-studio med följande steg:

  1. Logga in på Azure Machine Learning-studio.

  2. Välj Länkade tjänster i avsnittet Hantera i det vänstra fönstret.

  3. Välj Lägg till integrering.

  4. 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.
  5. 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

  6. Välj Nästa för att öppna formuläret Granska och kontrollera dina val.

  7. 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, wsmed 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,

Koppla en pool via studion

Följ de här stegen:

  1. Logga in på Azure Machine Learning-studio.
  2. Välj Länkade tjänster i avsnittet Hantera i det vänstra fönstret.
  3. Välj din Synapse-arbetsyta.
  4. Välj Anslutna Spark-pooler längst upp till vänster.
  5. Välj Bifoga.
  6. Välj din Apache Spark-pool i listan och ange ett namn.
    1. Den här listan identifierar tillgängliga Synapse Spark-pooler som kan kopplas till din beräkning.
    2. Information om hur du skapar en ny Synapse Spark-pool finns i Skapa Apache Spark-pool med Synapse Studio
  7. 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,

  1. Konfigurerar SynapseCompute med,

    1. Det LinkedService, linked_service som du antingen skapade eller hämtade i föregående steg.
    2. Den typ av beräkningsmål som du vill koppla, SynapseSpark
    3. Namnet på Apache Spark-poolen. Detta måste matcha en befintlig Apache Spark-pool som finns på din Azure Synapse Analytics-arbetsyta.
  2. Skapar en maskininlärning ComputeTarget genom att skicka in,

    1. Den maskininlärningsarbetsyta som du vill använda, ws
    2. Namnet som du vill referera till beräkningen på Azure Machine Learning-arbetsytan.
    3. Den attach_configuration som du angav när du konfigurerade Synapse Compute.
      1. Anropet till ComputeTarget.attach() är asynkront, så exempelblocken tills anropet har slutförts.
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']

Nästa steg