Azure Synapse Analytics- en Azure Machine Learning-werkruimten koppelen en Apache Spark-pools koppelen (afgeschaft)
VAN TOEPASSING OP: Python SDK azureml v1
Waarschuwing
De Integratie van Azure Synapse Analytics met Azure Machine Learning, beschikbaar in Python SDK v1, is afgeschaft. Gebruikers kunnen nog steeds Synapse-werkruimte gebruiken, geregistreerd bij Azure Machine Learning, als een gekoppelde service. Een nieuwe Synapse-werkruimte kan echter niet meer worden geregistreerd bij Azure Machine Learning als een gekoppelde service. We raden u aan om serverloze Spark-rekenkracht en gekoppelde Synapse Spark-pools te gebruiken, beschikbaar in CLI v2 en Python SDK v2. U vindt meer informatie op https://aka.ms/aml-spark.
In dit artikel leert u hoe u een gekoppelde service maakt die uw Azure Synapse Analytics-werkruimte en Azure Machine Learning-werkruimte koppelt.
Met een Azure Machine Learning-werkruimte die is gekoppeld aan een Azure Synapse-werkruimte, kunt u een Apache Spark-pool koppelen, mogelijk gemaakt door Azure Synapse Analytics, als een toegewezen rekenresource. U kunt deze resource gebruiken voor het wrangling van gegevens op schaal of u kunt modeltraining uitvoeren, allemaal vanuit hetzelfde Python-notebook.
U kunt uw ML-werkruimte en Synapse-werkruimte koppelen aan de Python SDK of de Azure Machine Learning-studio. U kunt ook werkruimten koppelen en een Synapse Spark-pool koppelen met één ARM-sjabloon (Azure Resource Manager).
Vereisten
Een Apache Spark-pool maken met behulp van Azure Portal, webhulpprogramma's of Synapse Studio
Toegang tot de Azure Machine Learning-studio
Werkruimten koppelen met de Python SDK
Belangrijk
Als u een koppeling wilt maken naar de Synapse-werkruimte, moet u de rol Eigenaar van de Synapse-werkruimte krijgen. Controleer uw toegang in de Azure-portal.
Als u alleen inzender bent voor de Synapse-werkruimte en u geen eigenaar voor die Synapse-werkruimte hebt, kunt u alleen bestaande gekoppelde services gebruiken. Ga naar Ophalen en een bestaande gekoppelde service gebruiken voor meer informatie.
Met deze code worden de LinkedService
en SynapseWorkspaceLinkedServiceConfiguration
klassen gebruikt om
- Uw machine learning-werkruimte
ws
koppelen aan uw Azure Synapse-werkruimte - Uw Synapse-werkruimte registreren bij Azure Machine Learning als een gekoppelde service
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)
Belangrijk
Er wordt een beheerde identiteit system_assigned_identity_principal_id
gemaakt voor elke gekoppelde service. U moet deze beheerde identiteit de rol Synapse Apache Spark-beheerder van de Synapse-werkruimte verlenen voordat u de Synapse-sessie start. Ga naar Azure Synapse RBAC-toewijzingen beheren in Synapse Studio voor meer informatie.
Als u wilt zoeken naar een system_assigned_identity_principal_id
specifieke gekoppelde service, gebruikt u LinkedService.get('<your-mlworkspace-name>', '<linked-service-name>')
.
Gekoppelde services beheren
Bekijk alle gekoppelde services die zijn gekoppeld aan uw machine learning-werkruimte:
LinkedService.list(ws)
Als u uw werkruimten wilt ontkoppelen, gebruikt u de unregister()
volgende methode:
linked_service.unregister()
Werkruimten koppelen via studio
Koppel uw machine learning-werkruimte en Synapse-werkruimte via de Azure Machine Learning-studio:
Meld u aan bij de Azure Machine Learning-studio
Gekoppelde services selecteren in de sectie Beheren van het linkerdeelvenster
Integratie toevoegen selecteren
Vul in het formulier Werkruimte koppelen de velden in
Veld Beschrijving Naam Geef een naam op voor uw gekoppelde service. Verwijzingen naar deze specifieke gekoppelde service gebruiken deze naam Naam van het abonnement Selecteer de naam van uw abonnement dat is gekoppeld aan uw machine learning-werkruimte Synapse-werkruimte Selecteer de Synapse-werkruimte waaraan u een koppeling wilt maken Selecteer Volgende om het formulier Spark-pools selecteren (optioneel) te openen. In dit formulier selecteert u welke Synapse Spark-pool u aan uw werkruimte wilt koppelen
Selecteer Volgende om het formulier Controleren te openen en controleer uw selecties
Selecteer Maken om het proces voor het maken van de gekoppelde service te voltooien
Een bestaande gekoppelde service ophalen
Voordat u een toegewezen berekening voor gegevenswrangling kunt koppelen, moet u een machine learning-werkruimte hebben gekoppeld aan een Azure Synapse Analytics-werkruimte. We verwijzen naar deze werkruimte als een gekoppelde service. Voor het ophalen en gebruiken van een bestaande gekoppelde service zijn gebruikers- of inzendermachtigingen vereist voor de Azure Synapse Analytics-werkruimte.
In dit voorbeeld wordt een bestaande gekoppelde service opgehaald- synapselink1
- uit de werkruimte ws
, met de get()
methode:
from azureml.core import LinkedService
linked_service = LinkedService.get(ws, 'synapselink1')
Synapse Spark-pool koppelen als rekenproces
Zodra u de gekoppelde service hebt opgehaald, koppelt u een Synapse Apache Spark-pool als een toegewezen rekenresource voor uw gegevens-wrangling-taken. U kunt Apache Spark-pools koppelen met
- Azure Machine Learning Studio
- ARM-sjablonen (Azure Resource Manager)
- De Azure Machine Learning Python SDK
Een pool koppelen via de studio
- Meld u aan bij de Azure Machine Learning-studio
- Gekoppelde services selecteren in de sectie Beheren van het linkerdeelvenster
- Uw Synapse-werkruimte selecteren
- Gekoppelde Spark-pools in de linkerbovenhoek selecteren
- Bijvoegen selecteren
- Selecteer uw Apache Spark-pool in de lijst en geef een naam op
- Deze lijst identificeert de beschikbare Synapse Spark-pools die aan uw rekenproces kunnen worden gekoppeld
- Als u een nieuwe Synapse Spark-pool wilt maken, raadpleegt u quickstart: Een nieuwe serverloze Apache Spark-pool maken met behulp van Azure Portal
- Selecteer Bijvoegen geselecteerd
Een pool koppelen met de Python SDK
U kunt ook de Python SDK gebruiken om een Apache Spark-pool te koppelen, zoals wordt weergegeven in dit codevoorbeeld:
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()
Controleer of de Apache Spark-pool is gekoppeld.
ws.compute_targets['Synapse Spark pool alias']
Deze code
Hiermee configureert u de
SynapseCompute
met- De
LinkedService
,linked_service
die u in de vorige stap hebt gemaakt of opgehaald - Het type rekendoel dat u wilt koppelen, in dit geval
SynapseSpark
- De naam van de Apache Spark-pool. De naam moet overeenkomen met een bestaande Apache Spark-pool die bestaat in uw Azure Synapse Analytics-werkruimte
- De
Hiermee maakt u een machine learning
ComputeTarget
door in te geven- De machine learning-werkruimte die u wilt gebruiken,
ws
- De naam die u wilt gebruiken om te verwijzen naar de berekening in de Azure Machine Learning-werkruimte
- De attach_configuration die u hebt opgegeven tijdens het configureren van uw Synapse Compute
- De aanroep naar ComputeTarget.attach() is asynchroon, dus de voorbeelduitvoering wordt geblokkeerd totdat de aanroep is voltooid
- De machine learning-werkruimte die u wilt gebruiken,