Łączenie obszarów roboczych usługi Azure Synapse Analytics i usługi Azure Machine Edukacja oraz dołączanie pul platformy Apache Spark (przestarzałe)
DOTYCZY: Zestaw SDK języka Python azureml w wersji 1
Ostrzeżenie
Integracja usługi Azure Synapse Analytics z usługą Azure Machine Edukacja dostępna w zestawie SDK języka Python w wersji 1 jest przestarzała. Użytkownicy nadal mogą używać obszaru roboczego usługi Synapse zarejestrowanego w usłudze Azure Machine Edukacja 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 Edukacja.
Za pomocą obszaru roboczego usługi Azure Machine Edukacja połączonego z obszarem roboczym usługi Azure Synapse można 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 Edukacja 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 Azure Machine Edukacja Python SDK
Tworzenie obszaru roboczego usługi Synapse w witrynie Azure Portal
Dostęp do programu Azure Machine Edukacja 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 za pomocą usługi Azure Machine Edukacja jako połączonej usługi
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. Musisz udzielić tej tożsamości zarządzanej roli usługi Synapse Apache Spark Administracja istrator obszaru roboczego usługi Synapse przed rozpoczęciem sesji 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 Edukacja Studio:
Zaloguj się do usługi Azure Machine Edukacja 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ółautorado 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 AZURE Machine Edukacja Python SDK
Dołączanie puli za pośrednictwem programu Studio
- Zaloguj się do usługi Azure Machine Edukacja 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 zasobów obliczeniowych w obszarze roboczym usługi Azure Machine Edukacja
- 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 Edukacja i usługę Azure Synapse