Udostępnij za pośrednictwem


Łączenie obszarów roboczych usługi Azure Synapse Analytics i Azure Machine Learning oraz dołączanie pul platformy Apache Spark (przestarzałe)

DOTYCZY: Zestaw SDK języka Python w wersji 1

Ostrzeżenie

Integracja usługi Azure Synapse Analytics z usługą Azure Machine Learning dostępna w zestawie PYTHON SDK w wersji 1 jest przestarzała. Użytkownicy nadal mogą używać obszaru roboczego usługi Synapse zarejestrowanego w usłudze Azure Machine Learning jako połączonej usługi. Nowy obszar roboczy usługi Synapse nie może być już jednak zarejestrowany w usłudze Azure Machine Learning jako połączona usługa. Zalecamy korzystanie z bezserwerowych pul platformy Spark i dołączonych pul platformy Synapse Spark dostępnych w interfejsie wiersza polecenia w wersji 2 i zestawu Python SDK w wersji 2. Aby uzyskać więcej informacji, zobacz https://aka.ms/aml-spark.

Z tego artykułu dowiesz się, jak utworzyć połączoną usługę, która łączy obszar roboczy usługi Azure Synapse Analytics i obszar roboczy usługi Azure Machine Learning.

Za pomocą obszaru roboczego usługi Azure Machine Learning połączonego z obszarem roboczym usługi Azure Synapse możesz dołączyć pulę platformy Apache Spark obsługiwaną przez usługę Azure Synapse Analytics jako dedykowany zasób obliczeniowy. Możesz użyć tego zasobu do uzdatniania danych na dużą skalę lub przeprowadzić trenowanie modelu — wszystko z tego samego notesu języka Python.

Obszar roboczy uczenia maszynowego i obszar roboczy usługi Synapse można połączyć za pomocą zestawu SDK języka Python lub usługi Azure Machine Learning Studio. Możesz również połączyć obszary robocze i dołączyć pulę usługi Synapse Spark za pomocą jednego szablonu usługi Azure Resource Manager (ARM).

Wymagania wstępne

Ważne

Aby pomyślnie połączyć się z obszarem roboczym usługi Synapse, musisz mieć przypisaną rolę Właściciel obszaru roboczego usługi Synapse. Sprawdź dostęp w witrynie Azure Portal.

Jeśli jesteś tylko współautorem obszaru roboczego usługi Synapse i nie masz właściciela dla tego obszaru roboczego usługi Synapse, możesz korzystać tylko z istniejących połączonych usług. Aby uzyskać więcej informacji, odwiedź stronę Pobieranie i używanie istniejącej połączonej usługi.

Ten kod wykorzystuje LinkedService klasy i SynapseWorkspaceLinkedServiceConfiguration do

  • Łączenie obszaru roboczego ws uczenia maszynowego z obszarem roboczym usługi Azure Synapse
  • Rejestrowanie obszaru roboczego usługi Synapse w usłudze Azure Machine Learning jako połączona usługa
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)

Ważne

Tożsamość system_assigned_identity_principal_id zarządzana jest tworzona dla każdej połączonej usługi. Przed rozpoczęciem sesji usługi Synapse musisz przyznać tej tożsamości zarządzanej rolę administratora usługi Synapse platformy Apache Spark w obszarze roboczym usługi Synapse. Aby uzyskać więcej informacji, odwiedź stronę How to manage Azure Synapse RBAC assignments in Synapse Studio (Jak zarządzać przypisaniami RBAC usługi Azure Synapse w programie Synapse Studio).

Aby znaleźć system_assigned_identity_principal_id konkretną połączoną usługę, użyj polecenia LinkedService.get('<your-mlworkspace-name>', '<linked-service-name>').

Zarządzanie połączonymi usługami

Wyświetl wszystkie połączone usługi skojarzone z obszarem roboczym uczenia maszynowego:

LinkedService.list(ws)

Aby odłączyć obszary robocze, użyj unregister() metody :

linked_service.unregister()

Połącz obszar roboczy uczenia maszynowego i obszar roboczy usługi Synapse za pośrednictwem usługi Azure Machine Learning Studio:

  1. Zaloguj się do usługi Azure Machine Learning Studio

  2. Wybierz pozycję Połączone usługi w sekcji Zarządzanie w okienku po lewej stronie

  3. Wybierz pozycję Dodaj integrację

  4. W formularzu Połącz obszar roboczy wypełnij pola

    Pole Opis
    Nazwa/nazwisko Podaj nazwę połączonej usługi. Odwołania do tej konkretnej połączonej usługi używają tej nazwy
    Nazwa subskrypcji Wybierz nazwę subskrypcji skojarzonej z obszarem roboczym uczenia maszynowego
    Obszar roboczy usługi Synapse Wybierz obszar roboczy usługi Synapse, do którego chcesz połączyć
  5. Wybierz pozycję Dalej, aby otworzyć formularz Wybierz pule platformy Spark (opcjonalnie). W tym formularzu wybierz pulę platformy Synapse Spark do dołączenia do obszaru roboczego

  6. Wybierz pozycję Dalej , aby otworzyć formularz Przegląd i zaznaczenia

  7. Wybierz pozycję Utwórz , aby ukończyć proces tworzenia połączonej usługi

Pobieranie istniejącej połączonej usługi

Zanim będzie można dołączyć dedykowane zasoby obliczeniowe na potrzeby uzdatniania danych, musisz mieć obszar roboczy uczenia maszynowego połączony z obszarem roboczym usługi Azure Synapse Analytics. Ten obszar roboczy jest nazywany połączoną usługą. Pobieranie i używanie istniejącej połączonej usługi wymaga uprawnień użytkownika lub współautora do obszaru roboczego usługi Azure Synapse Analytics.

W tym przykładzie jest pobierana istniejąca połączona usługa — synapselink1 z obszaru roboczego wsz get() metodą :

from azureml.core import LinkedService

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

Dołączanie puli usługi Synapse Spark jako zasobów obliczeniowych

Po pobraniu połączonej usługi dołącz pulę usługi Synapse Apache Spark jako dedykowany zasób obliczeniowy dla zadań uzdatniania danych. Pule platformy Apache Spark można dołączać za pomocą polecenia

Dołączanie puli za pośrednictwem programu Studio

  1. Zaloguj się do usługi Azure Machine Learning Studio
  2. Wybierz pozycję Połączone usługi w sekcji Zarządzanie w okienku po lewej stronie
  3. Wybieranie obszaru roboczego usługi Synapse
  4. Wybierz pozycję Dołączone pule platformy Spark w lewym górnym rogu
  5. Wybierz pozycję Dołącz
  6. Wybierz pulę platformy Apache Spark z listy i podaj nazwę
    1. Ta lista identyfikuje dostępne pule platformy Synapse Spark, które można dołączyć do zasobów obliczeniowych
    2. Aby utworzyć nową pulę platformy Synapse Spark, zobacz Szybki start: tworzenie nowej bezserwerowej puli platformy Apache Spark przy użyciu witryny Azure Portal
  7. Wybierz pozycję Dołącz wybraną

Dołączanie puli przy użyciu zestawu SDK języka Python

Możesz również stosować zestaw SDK języka Python, aby dołączyć pulę platformy Apache Spark, jak pokazano w tym przykładzie kodu:

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

Sprawdź, czy pula platformy Apache Spark jest dołączona.

ws.compute_targets['Synapse Spark pool alias']

Ten kod

  1. Konfiguruje element za pomocą polecenia SynapseCompute

    1. Element LinkedService, linked_service który został utworzony lub pobrany w poprzednim kroku
    2. Typ docelowego obiektu obliczeniowego, który chcesz dołączyć — w tym przypadku SynapseSpark
    3. Nazwa puli platformy Apache Spark. Nazwa musi być zgodna z istniejącą pulą platformy Apache Spark, która istnieje w obszarze roboczym usługi Azure Synapse Analytics
  2. Tworzy uczenie ComputeTarget maszynowe, przekazując

    1. Obszar roboczy uczenia maszynowego, którego chcesz użyć, ws
    2. Nazwa, której chcesz użyć do odwoływania się do obliczeń w obszarze roboczym usługi Azure Machine Learning
    3. Attach_configuration określone podczas konfigurowania usługi Synapse Compute
      1. Wywołanie metody ComputeTarget.attach() jest asynchroniczne, więc przykładowe wykonanie jest blokowane do momentu zakończenia wywołania

Następne kroki