Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
SynapseML (Synapse Машинное обучение) предварительно установлен на Microsoft Fabric. Если вам нужна определенная версия, ее можно переопределить с помощью %%configure волшебной команды в записной книжке Fabric.
Быстрый старт
| Step | Действие | Оценка времени |
|---|---|---|
| 1 | Проверьте предварительные условия (рабочая область, блокнот) | 2 мин |
| 2 | Добавление %%configure ячейки для установки необходимой версии SynapseML |
1 мин. |
| 3 | Проверка установленной версии | 1 мин. |
Prerequisites
Перед началом работы убедитесь, что у вас есть следующие ресурсы:
| Требование | Сведения |
|---|---|
| Рабочая область Microsoft Fabric | Рабочая область с емкостью Fabric (F2 или выше) или пробной лицензией Fabric. |
| записная книжка Fabric | Создайте новый блокнот в среде Fabric Data Science или Data Engineering. |
| версия среды выполнения Fabric | Узнайте версию среды выполнения в рабочей области. Версии SynapseML и Spark Avro JAR должны соответствовать версии Spark в среде выполнения. См. версии среды выполнения Fabric. |
Important
Команда %%configure перезапускает сеанс Spark с новыми параметрами. Запустите ее в качестве первой ячейки в записной книжке перед любым другим кодом. Если вы выполняете это после запуска сеанса Spark, флаг -f принудительно перезапускает сеанс, и все переменные и состояние теряются.
Замечание
Команда %%configure magic в записных книжках Fabric официально поддерживается в ограниченной степени. Нет гарантии соглашения об уровне обслуживания (SLA) или будущей совместимости с официальными выпусками. В качестве поддерживаемого решения рассмотрите возможность использования настройки среды Fabric для управления библиотеками.
Совместимость SynapseML со средой выполнения Fabric
Выберите версию SynapseML и SPARK Avro JAR, соответствующую версии Fabric среды выполнения Spark:
| среда выполнения Fabric | Версия Spark | Версия SynapseML | Spark Avro JAR |
|---|---|---|---|
| Среда выполнения 1.1 | 3.3 | 0.11.1–0.11.4 | spark-avro_2.12:3.3.1 |
| Среда выполнения 1.2 | 3.4 | 1.0.4–1.0.8 | spark-avro_2.12:3.4.1 |
| Среда выполнения 1.3 | 3.5 | 1.0.4–1.0.8 | spark-avro_2.12:3.5.1 |
Доступные версии SynapseML можно найти в Maven Central.
Установка SynapseML с помощью %%configure
Команда %%configure -f настраивает свойства сеанса Spark, включая координаты пакета Maven. Флаг -f заставляет перезапуск существующего сеанса.
Пример для среды выполнения Fabric 1.2 (Spark 3.4)
Вставьте этот код в первую ячейку новой записной книжки Fabric и запустите ячейку:
%%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"
}
}
Чтобы установить другую версию, замените номера версий в spark.jars.packages:
-
synapseml_2.12:<version>: нужная версия SynapseML (например,1.0.4). -
spark-avro_2.12:<spark-version>: должен соответствовать версии Spark в среде выполнения Fabric (см. таблицу совместимости).
Пример для среды выполнения Fabric 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"
}
}
Проверка конфигурации Spark
После запуска ячейки убедитесь, что сеанс Spark принял конфигурацию. Запустите этот код в новой ячейке:
print(spark.conf.get("spark.jars.packages"))
Ожидаемые выходные данные (для примера среды выполнения 1.2):
com.microsoft.azure:synapseml_2.12:1.0.8,org.apache.spark:spark-avro_2.12:3.4.1
Проверка версии SynapseML
Чтобы проверить установку, выполните следующий код в новой ячейке. Номер версии должен соответствовать установленной версии.
import synapse.ml.lightgbm
print(f"SynapseML version: {synapse.ml.lightgbm.__version__}")
Ожидаемые выходные данные (для примера среды выполнения 1.2):
SynapseML version: 1.0.8
Замечание
В SynapseML 1.0 и более поздних версиях модуль synapse.ml.cognitive устарел. Вместо этого используйте synapse.ml.services для доступа к интеграции служб ИИ.
Вернуться к версии по умолчанию
Чтобы вернуться к предварительно установленной версии SynapseML, удалите %%configure ячейку и перезапустите сеанс записной книжки:
- Удалите или закомментируйте ячейку
%%configure. - Выберите Session>Stop session на панели инструментов записной книжки.
- Запустите любую ячейку, чтобы запустить новый сеанс с конфигурацией по умолчанию.
Справочник по конфигурации
Блок %%configure включает следующие свойства Spark:
| Property | Purpose |
|---|---|
spark.jars.packages |
Координаты Maven для JAR-файла SynapseML и JAR-файла Spark Avro. |
spark.jars.repositories |
Дополнительный URL-адрес репозитория Maven для артефактов SynapseML. |
spark.jars.excludes |
Исключает транзитивные зависимости, конфликтующие с предустановленными Fabric библиотеками. |
spark.yarn.user.classpath.first |
Определяет приоритеты предоставленных пользователем JAR по сравнению с предварительно установленными. |
spark.sql.parquet.enableVectorizedReader |
Отключает векторное средство чтения Parquet, чтобы избежать проблем совместимости. |
spark.sql.legacy.replaceDatabricksSparkAvro.enabled |
Включает совместимость со старым считывателем Avro. |
Troubleshooting
ячейка %%configure не вступает в силу
Причина: ячейка %%configure была запущена не первой, или сеанс Spark уже был активен.
Исправление: Выберите Сеанс>Остановить сеанс, а затем сначала запустите ячейку %%configure.
Не удается загрузить JAR или истекает время ожидания
Причина: репозиторий Maven недоступен или координаты версии неверны.
Исправление. Убедитесь, что версия SynapseML существует в Maven Central. Убедитесь, что spark-avro версия соответствует версии среды выполнения Spark.
ClassNotFoundException или NoSuchMethodError во время выполнения
Причина. Версия SynapseML несовместима с версией Fabric среды выполнения Spark.
Исправление. Используйте таблицу совместимости , чтобы выбрать правильную комбинацию версий.
ImportError: нет модуля с именем "synapse.ml"
Причина. Пакет оболочки SynapseML Python не установлен в среде записной книжки.
Исправление: в новой ячейке выполните следующую команду:
%pip install synapseml==1.0.8
Замените 1.0.8 на версию, которая соответствует JAR-файлу, который вы установили.
Номер версии не соответствует установленной версии.
Причина: атрибут __version__ Python поступает из пакета pip synapseml, который может отличаться от версии JAR, установленной с помощью %%configure.
Исправление: проверьте конфигурацию Spark и версию пакета 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__)
Если версии не соответствуют, установите соответствующий пакет pip:
%pip install synapseml==1.0.8