Instalace jiné verze SynapseML na Fabric

SynapseML (Synapse Machine Learning) je předinstalovaný na Microsoft Fabric. Pokud potřebujete konkrétní verzi, můžete ji přepsat pomocí magického příkazu %%configure v poznámkovém bloku Fabric.

Rychlý start

Krok Činnost Časový odhad
1 Ověření požadavků (pracovní prostor, poznámkový blok) 2 minuty
2 Přidejte buňku %%configure pro instalaci verze SynapseML, kterou potřebujete 1 min.
3 Ověření nainstalované verze 1 min.

Prerequisites

Než začnete, ujistěte se, že máte následující zdroje informací:

Požadavek Details
pracovní prostor Microsoft Fabric Pracovní prostor s kapacitou Fabric (F2 nebo vyšší) nebo se zkušební verzí Fabric.
poznámkový blok Fabric Vytvořte nový poznámkový blok v prostředí Fabric Data Science nebo Fabric Data Engineering.
Verze běhového prostředí Fabric Zjistěte runtime verzi pracovního prostoru. Verze souborů JAR pro SynapseML a Spark Avro musí odpovídat verzi Sparku ve vašem běhovém prostředí. Viz verze prostředí Fabric Runtime.

Important

Příkaz %%configure restartuje relaci Sparku s novým nastavením. Před jakýmkoli jiným kódem ho spusťte jako první buňku v poznámkovém bloku. Pokud to spustíte po spuštění relace Spark, příznak -f vynutí restart relace a dojde ke ztrátě všech proměnných a stavu.

Poznámka:

Kouzelný %%configure příkaz v poznámkových blocích Fabric má omezenou oficiální podporu. Neexistuje žádná záruka smlouvy o úrovni služeb (SLA) ani budoucí kompatibility s oficiálními verzemi. Chcete-li použít podporovaný postup, zvažte použití přizpůsobení prostředí Fabric pro správu knihoven.

Kompatibilita SynapseML a prostředí Fabric Runtime

Zvolte verzi SynapseML a soubor JAR Spark Avro, které odpovídají verzi Sparku vašeho modulu runtime Fabric:

běhové prostředí Fabric Verze Sparku Verze SynapseML Spark Avro JAR
Runtime 1.1 3.3 0.11.1 až 0.11.4 spark-avro_2.12:3.3.1
Runtime 1.2 3.4 1.0.4 až 1.0.8 spark-avro_2.12:3.4.1
Runtime 1.3 3.5 1.0.4 až 1.0.8 spark-avro_2.12:3.5.1

Dostupné verze SynapseML najdete v Maven Central.

Instalace SynapseML s využitím %%configure

Příkaz %%configure -f nakonfiguruje vlastnosti relace Sparku, včetně souřadnic balíčků Maven. Příznak -f vynutí restartování existující relace.

Příklad pro Fabric Runtime 1.2 (Spark 3.4)

Vložte tento kód do první buňky nového poznámkového bloku Fabric a spusťte buňku:

%%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"
  }
}

Pokud chcete nainstalovat jinou verzi, nahraďte čísla verzí v spark.jars.packages:

  • synapseml_2.12:<version>: Požadovaná verze SynapseML (například 1.0.4).
  • spark-avro_2.12:<spark-version>: musí odpovídat verzi prostředí Spark v modulu runtime Fabric (viz tabulka kompatibility).

Příklad pro 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"
  }
}

Ověření konfigurace Sparku

Po spuštění buňky ověřte, že relace Spark přijala konfiguraci. Spusťte tento kód v nové buňce:

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

Očekávaný výstup (v příkladu modulu runtime 1.2):

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

Kontrola verze SynapseML

Instalaci ověříte spuštěním následujícího kódu v nové buňce. Číslo verze by se mělo shodovat s nainstalovanou verzí.

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

Očekávaný výstup (v příkladu modulu runtime 1.2):

SynapseML version: 1.0.8

Poznámka:

V SynapseML 1.0 a novějších verzích je modul synapse.ml.cognitive zastaralý. Místo toho se používá synapse.ml.services pro přístup k integracím služby AI.

Návrat k výchozí verzi

Pokud se chcete vrátit k předinstalované verzi SynapseML, odeberte buňku %%configure a restartujte relaci poznámkového bloku:

  1. Odstraňte buňku %%configure nebo ji okomentujte.
  2. Na panelu nástrojů poznámkového bloku vyberte Session>Zastavit relaci.
  3. Spusťte libovolnou buňku a zahajte novou relaci s výchozí konfigurací.

Referenční informace ke konfiguraci

Blok %%configure obsahuje tyto vlastnosti Sparku:

Vlastnictví Purpose
spark.jars.packages Souřadnice Maven pro soubory JAR SynapseML a Spark Avro.
spark.jars.repositories Další adresa URL úložiště Maven pro artefakty SynapseML.
spark.jars.excludes Vyloučí přechodné závislosti, které jsou v konfliktu s předinstalovanými knihovnami Fabric.
spark.yarn.user.classpath.first Upřednostňuje uživatelem dodané soubory JAR před předinstalovanými.
spark.sql.parquet.enableVectorizedReader Zakáže vektorizovanou čtečku Parquet, aby se zabránilo problémům s kompatibilitou.
spark.sql.legacy.replaceDatabricksSparkAvro.enabled Umožňuje kompatibilitu se starší čtečkou Avro.

Troubleshooting

Buňka %%configure nemá žádný účinek

Příčina: Buňka %%configure nebyla spuštěna jako první nebo už byla aktivní relace Spark.

Oprava: Vyberte Relace>Zastavit relaci a potom nejprve spusťte buňku %%configure.

Stažení souboru JAR se nezdaří nebo vyprší časový limit

Příčina: Úložiště Maven je nedostupné nebo souřadnice verzí jsou nesprávné.

Oprava: Ověřte, že verze SynapseML existuje v Centru Mavenu. Zkontrolujte, jestli spark-avro verze odpovídá vaší verzi modulu runtime Spark.

ClassNotFoundException nebo NoSuchMethodError za běhu programu

Příčina: Verze SynapseML není kompatibilní s verzí Sparku modulu runtime Fabric.

Oprava: Pomocí tabulky kompatibility vyberte správnou kombinaci verzí.

Chyba importu: Žádný modul s názvem "synapse.ml"

Příčina: Balíček Python wrapperu pro SynapseML není v prostředí notebooku nainstalován.

Oprava: V nové buňce spusťte:

%pip install synapseml==1.0.8

Nahraďte 1.0.8 verzi, která odpovídá nainstalovanému souboru JAR.

Číslo verze neodpovídá nainstalované verzi

Příčina: Atribut __version__ Pythonu pochází z balíčku pip synapseml, který se může lišit od verze JAR nainstalované pomocí %%configure.

Oprava: Ověřte konfiguraci Sparku i verzi balíčku 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__)

Pokud se verze neshoduje, nainstalujte odpovídající balíček pip:

%pip install synapseml==1.0.8