Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O SynapseML (Synapse Machine Learning) é pré-instalado no Microsoft Fabric. Se você precisar de uma versão específica, poderá sobrescrevê-la usando o comando mágico %%configure em um notebook do Fabric.
Início rápido
| Step | Ação | Estimativa de tempo |
|---|---|---|
| 1 | Verificar os pré-requisitos (espaço de trabalho, caderno) | 2 minutos |
| 2 | Adicionar %%configure célula para instalar a versão do SynapseML de que você precisa |
1 minuto |
| 3 | Verificar a versão instalada | 1 minuto |
Prerequisites
Antes de começar, verifique se você tem os seguintes recursos:
| Requisito | Detalhes |
|---|---|
| workspace Microsoft Fabric | Um espaço de trabalho com uma capacidade do Fabric (F2 ou maior) ou uma versão de avaliação do Fabric. |
| Caderno de tecido | Crie um novo notebook na experiência Fabric Data Science ou Data Engineering. |
| Versão do runtime do Fabric | Conheça a versão de runtime do workspace. As versões dos JARs do SynapseML e do Spark Avro devem corresponder à versão do Spark no seu ambiente de execução. Consulte as versões do runtime do Fabric. |
Importante
O %%configure comando reinicia a sessão do Spark com novas configurações. Execute-a como a primeira célula do bloco de anotações, antes de qualquer outro código. Se você executá-lo após o início de uma sessão do Spark, o -f sinalizador força uma reinicialização da sessão e todas as variáveis e o estado serão perdidos.
Observação
O %%configure comando mágico nos notebooks do Fabric tem suporte oficial limitado. Não há garantia de um SLA (contrato de nível de serviço) ou compatibilidade futura com versões oficiais. Para uma abordagem com suporte, considere usar a personalização de ambiente do Fabric para gerenciar bibliotecas.
Compatibilidade de runtime de Fabric e SynapseML
Escolha a versão do SynapseML e o JAR do Spark Avro que correspondam à sua versão do Spark Fabric runtime:
| tempo de execução do Fabric | Versão do Spark | Versão do 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 |
Você pode encontrar versões do SynapseML disponíveis no Maven Central.
Instale o SynapseML com %%configure
O %%configure -f comando configura as propriedades de sessão do Spark, incluindo coordenadas do pacote Maven. O -f sinalizador força uma reinicialização da sessão existente.
Exemplo para Fabric Runtime 1.2 (Spark 3.4)
Cole esse código na primeira célula de um novo bloco de anotações Fabric e execute a célula:
%%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"
}
}
Para instalar uma versão diferente, substitua os números de versão em spark.jars.packages:
-
synapseml_2.12:<version>: a versão SynapseML desejada (por exemplo,1.0.4). -
spark-avro_2.12:<spark-version>: deve corresponder à versão do Spark do runtime do Fabric (consulte a tabela de compatibilidade).
Exemplo para 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"
}
}
Verificar a configuração do Spark
Após a execução da célula, verifique se a sessão do Spark aceitou a configuração. Execute este código em uma nova célula:
print(spark.conf.get("spark.jars.packages"))
Saída esperada (para o exemplo runtime 1.2):
com.microsoft.azure:synapseml_2.12:1.0.8,org.apache.spark:spark-avro_2.12:3.4.1
Verificar a versão do SynapseML
Para verificar a instalação, execute o código a seguir em uma nova célula. O número da versão deve corresponder à versão instalada.
import synapse.ml.lightgbm
print(f"SynapseML version: {synapse.ml.lightgbm.__version__}")
Saída esperada (para o exemplo runtime 1.2):
SynapseML version: 1.0.8
Observação
No SynapseML 1.0 e posterior, o synapse.ml.cognitive módulo é preterido. Em vez disso, use synapse.ml.services para acessar as integrações de serviço de IA.
Reverter para a versão padrão
Para reverter para a versão pré-instalada do SynapseML, remova a %%configure célula e reinicie a sessão do notebook:
- Exclua ou comente a
%%configurecélula. - Selecione Sessão>Parar sessão na barra de ferramentas do notebook.
- Execute qualquer célula para iniciar uma nova sessão com a configuração padrão.
Referência de configuração
O %%configure bloco inclui estas propriedades do Spark:
| Property | Purpose |
|---|---|
spark.jars.packages |
Coordenadas do Maven para o JAR SynapseML e o SPARK Avro JAR. |
spark.jars.repositories |
URL adicional do repositório Maven para artefatos do SynapseML. |
spark.jars.excludes |
Exclui dependências transitivas que entram em conflito com bibliotecas de Fabric pré-instaladas. |
spark.yarn.user.classpath.first |
Prioriza os arquivos JAR fornecidos pelo usuário em vez dos pré-instalados. |
spark.sql.parquet.enableVectorizedReader |
Desabilita o leitor vetorizado do Parquet para evitar problemas de compatibilidade. |
spark.sql.legacy.replaceDatabricksSparkAvro.enabled |
Habilita a compatibilidade com o leitor Avro antigo. |
Troubleshooting
%%configure não tem efeito
Causa: a %%configure célula não foi a primeira célula a ser executada ou uma sessão do Spark já estava ativa.
Correção: selecione Sessão>Encerrar sessão e, em seguida, execute primeiro a célula %%configure.
O download do JAR falha ou expira
Causa: o repositório Maven é inacessível ou as coordenadas de versão estão incorretas.
Correção: verifique se a versão do SynapseML existe no Maven Central. Verifique se a spark-avro versão corresponde à sua versão de runtime do Spark.
ClassNotFoundException ou NoSuchMethodError em tempo de execução
Causa: a versão do SynapseML não é compatível com a versão do Spark Fabric runtime.
Correção: use a tabela de compatibilidade para selecionar a combinação de versão correta.
ImportError: Nenhum módulo chamado 'synapse.ml'
Causa: o pacote wrapper de Python SynapseML não está instalado no ambiente do notebook.
Correção: em uma nova célula, execute:
%pip install synapseml==1.0.8
Substitua 1.0.8 pela versão que corresponde ao JAR instalado.
O número da versão não corresponde à versão instalada
Causa: o atributo Python __version__ vem do synapseml pacote pip, que pode ser diferente da versão jar instalada por %%configure.
Correção: verifique a configuração do Spark e a versão do pacote 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__)
Se as versões não corresponderem, instale o pacote pip correspondente:
%pip install synapseml==1.0.8