Instalowanie innej wersji programu SynapseML na Fabric

Usługa SynapseML (synapse Machine Learning) jest wstępnie zainstalowana w Microsoft Fabric. Jeśli potrzebujesz konkretnej wersji, możesz ją nadpisać za pomocą polecenia magic %%configure w notesie Fabric.

Szybki start

Krok Action Szacowanie czasu
1 Sprawdź wymagania wstępne (obszar roboczy, notatnik) 2 minuty
2 Dodaj komórkę %%configure, aby zainstalować wersję SynapseML, której potrzebujesz. 1 min
3 Weryfikowanie zainstalowanej wersji 1 min

Prerequisites

Przed rozpoczęciem upewnij się, że masz następujące zasoby:

Wymaganie Details
obszar roboczy Microsoft Fabric Obszar roboczy z pojemnością Fabric (F2 lub nowszą) lub wersją próbną Fabric.
Notebook z tkaniny Utwórz nowy notesnik w środowisku Fabric Data Science lub Data Engineering.
wersja środowiska uruchomieniowego Fabric Poznaj wersję środowiska uruchomieniowego swojego obszaru roboczego. Wersje JAR usług SynapseML i Spark Avro muszą być zgodne z wersją platformy Spark w środowisku uruchomieniowym. Zobacz wersje środowiska uruchomieniowego Fabric.

Ważna

Polecenie %%configure uruchamia ponownie sesję platformy Spark z nowymi ustawieniami. Uruchom ją jako pierwszą komórkę w notesie przed innym kodem. Jeśli uruchomisz go po uruchomieniu sesji platformy Spark, flaga -f wymusza ponowne uruchomienie sesji, a wszystkie zmienne i stan zostaną utracone.

Uwaga

Polecenie magic %%configure w notesach usługi Fabric ma ograniczone oficjalne wsparcie. Nie ma gwarancji umowy dotyczącej poziomu usług (SLA) ani przyszłej zgodności z oficjalnymi wersjami. Aby skorzystać z obsługiwanego rozwiązania, rozważ zastosowanie dostosowywania środowiska Fabric do zarządzania bibliotekami.

Zgodność środowisk uruchomieniowych SynapseML i Fabric

Wybierz wersję SynapseML i plik JAR Spark Avro, które odpowiadają wersji środowiska uruchomieniowego Spark w usłudze Fabric:

środowisko uruchomieniowe Fabric Wersja platformy Spark Wersja usługi SynapseML Spark Avro JAR
Środowisko uruchomieniowe 1.1 3.3 od 0.11.1 do 0.11.4 spark-avro_2.12:3.3.1
Środowisko uruchomieniowe 1.2 3.4 Od 1.0.4 do 1.0.8 spark-avro_2.12:3.4.1
Środowisko uruchomieniowe 1.3 3.5 Od 1.0.4 do 1.0.8 spark-avro_2.12:3.5.1

Dostępne wersje usługi SynapseML można znaleźć w usłudze Maven Central.

Instalowanie usługi SynapseML przy użyciu %%configure

Polecenie %%configure -f konfiguruje właściwości sesji platformy Spark, w tym współrzędne pakietu Maven. Flaga -f wymusza ponowne uruchomienie istniejącej sesji.

Przykład Fabric Runtime 1.2 (Spark 3.4)

Wklej ten kod do pierwszej komórki nowego notesu Fabric i uruchom komórkę:

%%configure -f
{
  "name": "synapseml",
  "conf": {
      "spark.jars.packages": "com.microsoft.azure:synapseml_2.12:1.0.8,org.apache.spark:spark-avro_2.12:3.4.1",
      "spark.jars.repositories": "https://mmlspark.azureedge.net/maven",
      "spark.jars.excludes": "org.scala-lang:scala-reflect,org.apache.spark:spark-tags_2.12,org.scalactic:scalactic_2.12,org.scalatest:scalatest_2.12,com.fasterxml.jackson.core:jackson-databind",
      "spark.yarn.user.classpath.first": "true",
      "spark.sql.parquet.enableVectorizedReader": "false",
      "spark.sql.legacy.replaceDatabricksSparkAvro.enabled": "true"
  }
}

Aby zainstalować inną wersję, zastąp numery wersji w pliku spark.jars.packages:

  • synapseml_2.12:<version>: odpowiednią wersję usługi SynapseML (na przykład 1.0.4).
  • spark-avro_2.12:<spark-version>: musi być zgodny z wersją środowiska uruchomieniowego Spark usługi Fabric (zobacz tabelę zgodności).

Przykład Fabric Runtime 1.1 (Spark 3.3)

%%configure -f
{
  "name": "synapseml",
  "conf": {
      "spark.jars.packages": "com.microsoft.azure:synapseml_2.12:0.11.4,org.apache.spark:spark-avro_2.12:3.3.1",
      "spark.jars.repositories": "https://mmlspark.azureedge.net/maven",
      "spark.jars.excludes": "org.scala-lang:scala-reflect,org.apache.spark:spark-tags_2.12,org.scalactic:scalactic_2.12,org.scalatest:scalatest_2.12,com.fasterxml.jackson.core:jackson-databind",
      "spark.yarn.user.classpath.first": "true",
      "spark.sql.parquet.enableVectorizedReader": "false",
      "spark.sql.legacy.replaceDatabricksSparkAvro.enabled": "true"
  }
}

Weryfikowanie konfiguracji platformy Spark

Po uruchomieniu komórki sprawdź, czy sesja platformy Spark zaakceptowała konfigurację. Uruchom ten kod w nowej komórce:

print(spark.conf.get("spark.jars.packages"))

Oczekiwane dane wyjściowe (przykład środowiska uruchomieniowego 1.2):

com.microsoft.azure:synapseml_2.12:1.0.8,org.apache.spark:spark-avro_2.12:3.4.1

Sprawdzanie wersji usługi SynapseML

Aby zweryfikować instalację, uruchom następujący kod w nowej komórce. Numer wersji powinien być zgodny z zainstalowaną wersją.

import synapse.ml.lightgbm
print(f"SynapseML version: {synapse.ml.lightgbm.__version__}")

Oczekiwane dane wyjściowe (przykład środowiska uruchomieniowego 1.2):

SynapseML version: 1.0.8

Uwaga

W SynapseML w wersji 1.0 i nowszych moduł synapse.ml.cognitive jest przestarzały. Zamiast tego użyj synapse.ml.services, aby uzyskać dostęp do integracji z usługami AI.

Przywróć wersję domyślną

Aby przywrócić preinstalowaną wersję SynapseML, usuń komórkę %%configure i uruchom ponownie sesję notatnika:

  1. Usuń lub oznacz jako komentarz komórkę %%configure .
  2. Wybierz Sesja>Zatrzymaj sesję na pasku narzędzi notesu.
  3. Uruchom dowolną komórkę, aby rozpocząć nową sesję z konfiguracją domyślną.

Dokumentacja konfiguracji

Blok %%configure zawiera następujące właściwości platformy Spark:

Majątek Purpose
spark.jars.packages Współrzędne Maven dla pliku JAR SynapseML i pliku JAR Spark Avro.
spark.jars.repositories Adres URL dodatkowego repozytorium Maven dla artefaktów SynapseML.
spark.jars.excludes Wyklucza przejściowe zależności, które powodują konflikt ze wstępnie zainstalowanymi bibliotekami Fabric.
spark.yarn.user.classpath.first Nadaje priorytet plikom JAR dostarczonym przez użytkownika przed tymi wstępnie zainstalowanymi.
spark.sql.parquet.enableVectorizedReader Wyłącza wektoryzowany czytnik Parquet, aby uniknąć problemów ze zgodnością.
spark.sql.legacy.replaceDatabricksSparkAvro.enabled Umożliwia zgodność ze starszym czytnikiem Avro.

Troubleshooting

komórka %%configure nie działa

Przyczyna: Komórka %%configure nie została uruchomiona jako pierwsza lub sesja Spark była już aktywna.

Poprawka: Wybierz Sesja>Zatrzymaj sesję, a następnie najpierw uruchom komórkę %%configure.

Pobieranie pliku JAR nie powodzi się lub przekracza limit czasu

Przyczyna: Repozytorium Maven jest niedostępne lub współrzędne wersji są nieprawidłowe.

Poprawka: Sprawdź, czy wersja usługi SynapseML istnieje w usłudze Maven Central. Sprawdź, czy wersja jest zgodna spark-avro z wersją środowiska uruchomieniowego platformy Spark.

ClassNotFoundException lub NoSuchMethodError w czasie działania

Przyczyna: Wersja usługi SynapseML nie jest zgodna z wersją platformy Spark środowiska uruchomieniowego Fabric.

Poprawka: użyj tabeli zgodności , aby wybrać poprawną kombinację wersji.

ImportError: brak modułu o nazwie "synapse.ml"

Przyczyna: pakiet otoki języka Python dla SynapseML nie jest zainstalowany w środowisku notesnika.

Poprawka: W nowej komórce uruchom polecenie:

%pip install synapseml==1.0.8

Zastąp 1.0.8 element wersją zgodną z zainstalowanym plikiem JAR.

Numer wersji jest niezgodny z zainstalowaną wersją

Przyczyna: atrybut Python __version__ pochodzi z synapseml pakietu pip, który może różnić się od wersji JAR zainstalowanej przez %%configureprogram .

Poprawka: Sprawdź zarówno konfigurację platformy Spark, jak i wersję pakietu pip:

# Check the JAR version from Spark config
print("JAR packages:", spark.conf.get("spark.jars.packages"))

# Check the pip package version
import synapse.ml.lightgbm
print("Pip package version:", synapse.ml.lightgbm.__version__)

Jeśli wersje nie są zgodne, zainstaluj pasujący pakiet pip:

%pip install synapseml==1.0.8