Łą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
Instalowanie zestawu SDK języka Python usługi Azure Machine Learning
Tworzenie obszaru roboczego usługi Synapse w witrynie Azure Portal
Dostęp do usługi Azure Machine Learning Studio
Łączenie obszarów roboczych przy użyciu zestawu SDK języka Python
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()
Łączenie obszarów roboczych za pośrednictwem programu Studio
Połącz obszar roboczy uczenia maszynowego i obszar roboczy usługi Synapse za pośrednictwem usługi Azure Machine Learning Studio:
Zaloguj się do usługi Azure Machine Learning Studio
Wybierz pozycję Połączone usługi w sekcji Zarządzanie w okienku po lewej stronie
Wybierz pozycję Dodaj integrację
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ć 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
Wybierz pozycję Dalej , aby otworzyć formularz Przegląd i zaznaczenia
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 ws
z 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
- Azure Machine Learning Studio
- Szablony usługi Azure Resource Manager (ARM)
- Zestaw SDK języka Python usługi Azure Machine Learning
Dołączanie puli za pośrednictwem programu Studio
- Zaloguj się do usługi Azure Machine Learning Studio
- Wybierz pozycję Połączone usługi w sekcji Zarządzanie w okienku po lewej stronie
- Wybieranie obszaru roboczego usługi Synapse
- Wybierz pozycję Dołączone pule platformy Spark w lewym górnym rogu
- Wybierz pozycję Dołącz
- Wybierz pulę platformy Apache Spark z listy i podaj nazwę
- Ta lista identyfikuje dostępne pule platformy Synapse Spark, które można dołączyć do zasobów obliczeniowych
- Aby utworzyć nową pulę platformy Synapse Spark, zobacz Szybki start: tworzenie nowej bezserwerowej puli platformy Apache Spark przy użyciu witryny Azure Portal
- 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
Konfiguruje element za pomocą polecenia
SynapseCompute
- Element
LinkedService
,linked_service
który został utworzony lub pobrany w poprzednim kroku - Typ docelowego obiektu obliczeniowego, który chcesz dołączyć — w tym przypadku
SynapseSpark
- 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
- Element
Tworzy uczenie
ComputeTarget
maszynowe, przekazując- Obszar roboczy uczenia maszynowego, którego chcesz użyć,
ws
- Nazwa, której chcesz użyć do odwoływania się do obliczeń w obszarze roboczym usługi Azure Machine Learning
- Attach_configuration określone podczas konfigurowania usługi Synapse Compute
- Wywołanie metody ComputeTarget.attach() jest asynchroniczne, więc przykładowe wykonanie jest blokowane do momentu zakończenia wywołania
- Obszar roboczy uczenia maszynowego, którego chcesz użyć,
Następne kroki
- Uzdatnianie danych przy użyciu pul platformy Apache Spark (przestarzałe).
- Jak używać platformy Apache Spark (obsługiwanej przez usługę Azure Synapse Analytics) w potoku uczenia maszynowego (przestarzałe)
- Konfigurowanie i przesyłanie zadań szkoleniowych.
- Jak bezpiecznie zintegrować usługę Azure Machine Learning i usługę Azure Synapse