Sdílet prostřednictvím


Propojení pracovních prostorů Azure Synapse Analytics a Azure Machine Learning a připojení fondů Apache Sparku (zastaralé)

PLATÍ PRO: Python SDK azureml v1

Upozorňující

Integrace Azure Synapse Analytics se službou Azure Machine Learning, která je dostupná v sadě Python SDK v1, je zastaralá. Uživatelé stále můžou používat pracovní prostor Synapse zaregistrovaný ve službě Azure Machine Learning jako propojenou službu. Nový pracovní prostor Synapse však již není možné zaregistrovat ve službě Azure Machine Learning jako propojenou službu. Doporučujeme používat bezserverové výpočetní prostředky Sparku a připojené fondy Synapse Spark dostupné v CLI v2 a Python SDK v2. Další informace najdete na adrese https://aka.ms/aml-spark.

V tomto článku se dozvíte, jak vytvořit propojenou službu, která propojila pracovní prostor Azure Synapse Analytics a pracovní prostor Azure Machine Learning.

S pracovním prostorem Azure Machine Learning propojeným s pracovním prostorem Azure Synapse můžete připojit fond Apache Spark, který využívá Azure Synapse Analytics jako vyhrazený výpočetní prostředek. Tento prostředek můžete použít pro transformaci dat ve velkém měřítku nebo můžete provádět trénování modelu – to vše ze stejného poznámkového bloku Pythonu.

Pracovní prostor ML a pracovní prostor Synapse můžete propojit se sadou Python SDK nebo studio Azure Machine Learning. Můžete také propojit pracovní prostory a připojit fond Synapse Spark s jednou šablonou Azure Resource Manageru (ARM).

Požadavky

Důležité

Pokud chcete úspěšně propojit pracovní prostor Synapse, musíte mít udělenou roli Vlastník pracovního prostoru Synapse. Svůj přístup můžete zkontrolovat na webu Azure Portal.

Pokud jste jen přispěvatelem pracovního prostoru Synapse a nemáte pro tento pracovní prostor Synapse vlastníka , můžete použít jenom existující propojené služby. Další informace najdete v tématu Načtení a použití existující propojené služby.

Tento kód využívá třídy LinkedService a SynapseWorkspaceLinkedServiceConfiguration

  • Propojení pracovního prostoru strojového učení s pracovním ws prostorem Azure Synapse
  • Registrace pracovního prostoru Synapse ve službě Azure Machine Learning jako propojená služba
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)

Důležité

Spravovaná identita system_assigned_identity_principal_id se vytvoří pro každou propojenou službu. Před zahájením relace Synapse musíte této spravované identitě udělit roli správce Synapse Apache Sparku pracovního prostoru Synapse. Další informace najdete v tématu Správa přiřazení RBAC služby Azure Synapse v nástroji Synapse Studio.

Pokud chcete najít system_assigned_identity_principal_id konkrétní propojenou službu, použijte LinkedService.get('<your-mlworkspace-name>', '<linked-service-name>').

Správa propojených služeb

Zobrazte všechny propojené služby přidružené k vašemu pracovnímu prostoru strojového učení:

LinkedService.list(ws)

Pokud chcete zrušit propojení pracovních prostorů, použijte metodu unregister() :

linked_service.unregister()

Propojte pracovní prostor strojového učení a pracovní prostor Synapse prostřednictvím studio Azure Machine Learning:

  1. Přihlaste se k studio Azure Machine Learning

  2. Výběr propojených služeb v části Spravovat v levém podokně

  3. Výběr možnosti Přidat integraci

  4. Ve formuláři Propojit pracovní prostor vyplňte pole.

    Pole Popis
    Name Zadejte název propojené služby. Odkazy na tuto konkrétní propojenou službu používají tento název.
    Název předplatného Vyberte název předplatného přidruženého k pracovnímu prostoru strojového učení.
    Pracovní prostor Synapse Vyberte pracovní prostor Synapse, na který chcete vytvořit propojení.
  5. Výběrem možnosti Další otevřete formulář Vybrat fondy Sparku (volitelné). V tomto formuláři vyberete fond Synapse Spark, který se má připojit k pracovnímu prostoru.

  6. Výběrem možnosti Další otevřete formulář Revize a zkontrolujte vybrané možnosti.

  7. Výběrem možnosti Vytvořit dokončíte proces vytváření propojené služby.

Získání existující propojené služby

Než budete moct připojit vyhrazený výpočetní výkon pro transformaci dat, musíte mít pracovní prostor strojového učení propojený s pracovním prostorem Azure Synapse Analytics. Tento pracovní prostor označujeme jako propojenou službu. Načtení a použití existující propojené služby vyžaduje oprávnění uživatele nebo přispěvatele k pracovnímu prostoru Azure Synapse Analytics.

Tento příklad načte existující propojenou službu – synapselink1 z pracovního prostoru wspomocí get() metody:

from azureml.core import LinkedService

linked_service = LinkedService.get(ws, 'synapselink1')

Připojení fondu Synapse Spark jako výpočetních prostředků

Po načtení propojené služby připojte fond Synapse Apache Spark jako vyhrazený výpočetní prostředek pro úlohy transformace dat. Fondy Apache Sparku můžete připojit pomocí příkazu .

Připojení fondu přes studio

  1. Přihlaste se k studio Azure Machine Learning
  2. Výběr propojených služeb v části Spravovat v levém podokně
  3. Výběr pracovního prostoru Synapse
  4. Výběr připojených fondů Sparku v levém horním rohu
  5. Výběr možnosti Připojit
  6. V seznamu vyberte fond Apache Spark a zadejte název.
    1. Tento seznam identifikuje dostupné fondy Synapse Spark, které je možné připojit k výpočetním prostředkům.
    2. Pokud chcete vytvořit nový fond Synapse Spark, přečtěte si rychlý start: Vytvoření nového bezserverového fondu Apache Spark pomocí webu Azure Portal
  7. Výběr možnosti Připojit vybraná možnost

Připojení fondu pomocí sady Python SDK

Sadu Python SDK můžete také použít k připojení fondu Apache Sparku, jak je znázorněno v tomto příkladu kódu:

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()

Ověřte, že je připojený fond Apache Sparku.

ws.compute_targets['Synapse Spark pool alias']

Tento kód

  1. Konfiguruje SynapseCompute

    1. Hodnota LinkedService, linked_service kterou jste vytvořili nebo načetli v předchozím kroku
    2. Typ cílového výpočetního objektu, který chcete připojit – v tomto případě SynapseSpark
    3. Název fondu Apache Spark. Název se musí shodovat s existujícím fondem Apache Spark, který existuje v pracovním prostoru služby Azure Synapse Analytics.
  2. Vytvoří strojové učení ComputeTarget předáním

    1. Pracovní prostor strojového učení, který chcete použít, ws
    2. Název, který chcete použít k odkazování na výpočetní prostředky v pracovním prostoru Azure Machine Learning
    3. Attach_configuration, který jste zadali při konfiguraci služby Synapse Compute
      1. Volání ComputeTarget.attach() je asynchronní, takže se ukázkové spuštění zablokuje, dokud se volání neskončí.

Další kroky