Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O caderno Python é uma nova experiência construída sobre cadernos em Fabric. É uma ferramenta versátil e interativa, concebida para análise de dados, visualização e aprendizagem automática. Ele fornece uma experiência de desenvolvimento perfeita para escrever e executar código Python. Esse recurso o torna uma ferramenta essencial para cientistas de dados, analistas e desenvolvedores de BI, especialmente para tarefas de exploração que não exigem big data e computação distribuída.
Ao usar um caderno Python, obtém:
Múltiplos kernels Python integrados: Os notebooks Python oferecem um ambiente de programação Python puro sem Spark, com três versões integradas do kernel Python: Python 3.10, Python 3.11 e Python 3.12. O ambiente suporta funcionalidades nativas do IPython, como o iPyWidget e comandos mágicos.
Custo-benefício: O novo notebook Python oferece benefícios econômicos ao ser executado em um cluster de nó único com 2vCores/16GB de memória por padrão. Essa configuração garante a utilização eficiente de recursos para projetos de exploração de dados com tamanho de dados menor.
A casa do lago e os recursos estão disponíveis nativamente: A casa do lago Fabric, juntamente com os recursos integrados no caderno, estão disponíveis em um caderno Python. Esta funcionalidade permite aos utilizadores trazer facilmente os dados para o notebook Python, basta tentar arrastar e largar para obter o excerto de código.
Misture programação com T-SQL: o notebook Python oferece uma forma fácil de interagir com endpoints de análise de Data Warehouse e SQL no explorer. Ao usar o notebookutils data connector, pode executar facilmente os scripts T-SQL no contexto do Python.
Suporte para bibliotecas populares de análise de dados: Os cadernos Python vêm com bibliotecas pré-instaladas como DuckDB, Polars e Scikit-learn, fornecendo um conjunto de ferramentas abrangente para manipulação, análise e aprendizagem automática de dados.
Advanced IntelliSense: O notebook Python adota o Pylance como motor IntelliSense, juntamente com outros serviços de linguagem personalizada em Fabric, com o objetivo de proporcionar experiência de programação de ponta para programadores de notebooks.
NotebookUtils e Ligação Semântica: Poderosos conjuntos de ferramentas de API permitem-lhe utilizar facilmente as capacidades do Fabric e do Power BI com uma abordagem centrada no código.
Capacidades Ricas de Visualização: Para além da popular função de visualização rica de dataframes 'Table' e 'Chart', também suporta bibliotecas de visualização populares como Matplotlib, Seaborn e Plotly. O PowerBIClient também suporta essas bibliotecas para ajudar os usuários a entender melhor os padrões de dados e insights.
Funcionalidades Comuns para o Fabric Notebook: Todas as funcionalidades ao nível do Notebook são naturalmente aplicáveis ao Python notebook, como funcionalidades de edição, AutoSave, colaboração, partilha e gestão de permissões, integração com Git, importação/exportação, entre outras.
Full stack Data Science Capabilities: O kit de ferramentas low-code avançado Data Wrangler, a estrutura de aprendizado de máquina MLFlow e o poderoso Copilot estão disponíveis no notebook Python.
Como aceder a um caderno Python
Depois de abrir um caderno no Fabric, pode mudar para Python no menu suspenso da linguagem no separador Início e converter toda a configuração do caderno para Python.
A maior parte das funcionalidades comuns está disponível ao nível do bloco de notas. Para saber mais, veja Como usar cadernos Fabric e Desenvolver, executar e gerir cadernos Fabric. Este artigo lista algumas funcionalidades chave específicas para cenários Python.
Executar cadernos Python
Os cadernos Python suportam múltiplos métodos de execução de tarefas:
- Execução interativa: Você pode executar um notebook Python interativamente como um notebook Jupyter nativo.
- Execução agendada: Pode utilizar o agendador simplificado na página de definições do notebook para executar um notebook Python como uma tarefa em lote.
- Execução de pipeline: É possível orquestrar notebooks Python como atividades de notebook no Pipeline. O processo gera um snapshot após a execução do trabalho.
-
Execução de referência: Você pode usar
notebookutils.notebook.run()ounotebookutils.notebook.runMultiple()para referenciar notebooks Python em outro notebook Python como um trabalho em lote. O processo gera um snapshot após o término da execução de referência. -
%run: Podes usar
%runpara referenciar e executar outros notebooks dentro do mesmo contexto de execução, para poderes chamar diretamente funções e reutilizar variáveis definidas nesses notebooks. Para mais detalhes, consulte a documentação sobre como consultar um caderno de referência. - Execução da API pública: Pode agendar a execução do seu notebook Python com a API pública para execução de notebooks. A API do Job Scheduler suporta execuções parametrizadas e valores de saída que retornam de execuções em notebooks. Os valores de saída podem ser utilizados para a orquestração condicional e para sinalizar resultados durante a orquestração de notebooks Python em cenários de automação e CI/CD. Certifique-se de que as propriedades da linguagem e do kernel nos metadados do notebook do payload da API pública estão corretamente definidas. Os valores dos parâmetros passados via a API Pública estão disponíveis para o caderno Python em tempo de execução, utilizando o padrão padrão de acesso a parâmetros usado nos cadernos Fabric. Para detalhes sobre a estrutura de solicitação para parâmetros e obtenção de valores de saída, consulte Gerir e executar notebooks no Fabric com APIs. Pode monitorizar o estado das execuções e cancelar instâncias de trabalho através da API do Agendador de Trabalhos, complementando a experiência na interface de utilizador Ver todas as execuções.
Note
A autenticação da entidade de serviço é suportada para a API Items REST (CRUD para notebooks) e para a API do Job Scheduler (execução), permitindo automação segura sem supervisão e CI/CD para notebooks Python. Adicione o principal do serviço ao espaço de trabalho com um papel apropriado para usar estas APIs.
Você pode monitorizar os detalhes de execução do trabalho no caderno Python na barra de ferramentas Executar ->Exibir todas as operações.
Note
Atualmente, %run só suporta a referenciação de itens de bloco de notas em blocos de notas Python, não de módulos de código (como ficheiros .py) da pasta de recursos do bloco de notas.
Interação de dados
Pode interagir com o lakehouse, armazéns, endpoints de análise SQL e pastas de recursos incorporadas em notebooks Python.
Note
O runtime do notebook Python vem pré-instalado com bibliotecas delta-rs e duckdb para suportar tanto a leitura como a escrita de dados do Delta Lake. No entanto, algumas funcionalidades do Delta Lake podem não ser totalmente suportadas. Para mais detalhes e as últimas atualizações, consulte a documentação delta-rs e DuckDB .
Interação com Lakehouse
Podes definir uma casa no lago como padrão, ou também podes adicionar várias casas para explorar e usá-las em cadernos.
Se não estiveres familiarizado com a leitura de objetos de dados como a tabela Delta, tenta arrastar e largar o ficheiro e a tabela Delta para a tela do caderno, ou usa a opção Carregar dados no menu suspenso do objeto. O caderno insere automaticamente um excerto de código numa célula de código e gera código para ler o objeto de dados alvo.
Note
Se ocorrer OOM ao carregar um grande volume de dados, experimenta usar um dataframe do DuckDB, do Polars ou do PyArrow em vez do pandas.
Pode encontrar a operação de escrever lakehouse em Browse code snippet ->Write data to Delta table.
Interação com armazéns e programação mista com T-SQL
Pode adicionar armazéns ou endpoints de análise SQL a partir do explorador de armazém do notebook. Da mesma forma, é possível arrastar e soltar as tabelas na tela do caderno ou utilizar as operações de atalho no menu dropdown da tabela. O caderno gera automaticamente um excerto de código para si. Pode usar as utilidades notebookutils.data para estabelecer uma ligação com Warehouses e consultar os dados usando instruções T-SQL no contexto de Python.
Note
Os endpoints de análise SQL são apenas de leitura.
Pasta de recursos do bloco de anotações
A pasta de recursos incorporada do Notebook está disponível nativamente nos notebooks Python. Pode interagir facilmente com os ficheiros na pasta de recursos incorporada usando código Python como se estivesse a trabalhar com o seu sistema de ficheiros local. Atualmente, a pasta de recursos Ambiente não é suportada.
Operações do kernel
Os notebooks Python suportam três kernels incorporados: Python 3.10, Python 3.11 e Python 3.12. O kernel selecionado por defeito é Python 3.12. Podes facilmente alternar entre eles.
Podes interromper, reiniciar ou mudar o kernel no separador Home da fita. Interromper o kernel nos notebooks Python é o mesmo que cancelar uma célula no notebook Spark.
Uma saída anormal do kernel faz com que a execução do código seja interrompida e as variáveis se percam, mas não impede a sessão do notebook.
Alguns comandos podem levar à morte do kernel. Por exemplo, quit() e exit().
Para o ciclo de vida de suporte de cada versão do kernel Python, incluindo datas de fim de suporte e passos de migração, consulte o tempo de execução e o ciclo de vida do kernel do notebook Python no Fabric.
Gestão de bibliotecas
Utilize os comandos %pip e %conda para instalações inline. Estes comandos suportam tanto bibliotecas públicas como bibliotecas personalizadas.
Para bibliotecas personalizadas, carregue os ficheiros da biblioteca para a pasta de recursos incorporada . A plataforma suporta vários tipos de bibliotecas, incluindo formatos como Wheel (.whl), JAR (.jar), DLL (.dll) e Python (.py). Basta arrastar e largar o ficheiro, e o excerto de código é gerado automaticamente.
Pode ser necessário reiniciar o kernel para usar os pacotes atualizados.
Para compreender melhor e usar comandos semelhantes, consulte a tabela seguinte.
| Command/Syntax | Objetivo principal | Como funciona no Jupyter Notebook | Caso de utilização típica | Notes |
|---|---|---|---|---|
%pip install package |
Instalar pacotes Python | Executa pip no núcleo Python do notebook | Maneira recomendada de instalar pacotes | Em cadernos Python, o mesmo que !pip; não reinicia automaticamente o kernel |
!pip install package |
Instalar pacotes Python via shell | Executa pip como um comando shell | Forma alternativa de instalar pacotes | Em cadernos Python, o mesmo que %pip; não reinicia automaticamente o kernel |
import sys; sys.exit(0) |
Reinicie o kernel do notebook | Reinicia imediatamente o kernel | Reiniciar programaticamente o kernel | Limpa todas as variáveis e estados; não recomendado para usar diretamente |
notebookutils.session.restartPython() |
Reinicie o kernel do notebook | Chamadas sys.exit(0) internas |
Maneira recomendada de reiniciar o kernel | API oficial, mais segura e compatível do que usar sys.exit(0) diretamente |
Note
- Em notebooks Python,
%pipe!piptêm o mesmo comportamento: ambos instalam pacotes no ambiente do kernel atual, e nenhum reinicia automaticamente o kernel após a instalação. - Se precisares de reiniciar o kernel (por exemplo, depois de instalar certos pacotes), usa
notebookutils.session.restartPython()em vez deimport sys; sys.exit(0).-
notebookutils.session.restartPython()é uma API oficial que envolvesys.exit(0), e é mais segura e compatível em ambientes de portáteis.
-
- Não uses
sys.exit(0)diretamente a menos que seja necessário.
Monitoramento de uso de recursos em tempo real do notebook Python
Importante
Este recurso está em pré-visualização.
Ao usar o painel do monitor de recursos, pode acompanhar informações críticas de execução, como duração da sessão, tipo de computação e métricas de recursos em tempo real, incluindo o consumo de CPU e memória, diretamente no seu portátil. Este recurso fornece uma visão geral imediata da sua sessão ativa e dos recursos que estão sendo usados.
O monitor de recursos melhora a visibilidade de como as cargas de trabalho Python utilizam os recursos do sistema. Ele ajuda a otimizar o desempenho, gerenciar custos e reduzir o risco de erros de falta de memória (OOM). Ao monitorar métricas em tempo real, você pode identificar operações que consomem muitos recursos, analisar padrões de uso e tomar decisões informadas sobre dimensionamento ou modificação de código.
Para começar a usá-lo, defina a linguagem do seu bloco de anotações como Python e inicie uma sessão. Em seguida, você pode abrir o monitor clicando nos recursos de computação na barra de status do bloco de anotações ou selecionando Exibir uso de recursos na barra de ferramentas. O painel do monitor de recursos aparece automaticamente, proporcionando uma experiência integrada de monitorização para código Python nos notebooks Fabric.
Comando mágico de configuração de sessão
À semelhança de personalizar a configuração de uma sessão Spark num caderno, também pode usar %%configure num caderno de Python. Os cadernos Python suportam a personalização do tamanho do nó de computação, pontos de montagem e o lakehouse padrão da sessão do caderno. Pode usar estas definições tanto em cadernos interativos como em atividades de cadernos de pipeline. Use o %%configure comando no início do seu caderno, caso contrário terá de reiniciar a sessão do caderno para que as definições entrem em vigor.
Aqui estão propriedades suportadas no %%configure de notebook Python:
%%configure -f
{
"vCores": 4, // Recommended values: [4, 8, 16, 32, 64], Fabric will allocate matched memory according to the specified vCores.
"defaultLakehouse": {
// Will overwrites the default lakehouse for current session
"name": "<lakehouse-name>",
"id": "<(optional) lakehouse-id>",
"workspaceId": "<(optional) workspace-id-that-contains-the-lakehouse>" // Add workspace ID if it's from another workspace
},
"mountPoints": [
{
"mountPoint": "/myMountPoint",
"source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path>"
},
{
"mountPoint": "/myMountPoint1",
"source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path1>"
},
],
}
Pode visualizar a atualização dos recursos de computação na barra de estado do portátil e monitorizar o uso de CPU e memória do nó de computação em tempo real.
Note
Execuções ativadas por API respeitam a configuração da sessão, como vCores de computação e defaultLakehouse especificadas via metadados do notebook ou %%configure. A API do Agendador de Tarefas também permite selecionar o lakehouse e o ambiente de destino em tempo de execução. Para detalhes sobre os campos de payload, consulte Gerir e executar cadernos em Fabric com APIs.
NotebookUtils
Notebook Utilities (NotebookUtils) é um pacote incorporado que o ajuda a realizar facilmente tarefas comuns no Fabric notebook. Está pré-instalado no runtime Python. Use o NotebookUtils para trabalhar com sistemas de ficheiros, obter variáveis de ambiente, encadear notebooks, aceder a armazenamento externo e trabalhar com segredos.
Use notebookutils.help() para listar APIs disponíveis e obter ajuda com métodos. Para mais informações, consulte a documentação do NotebookUtils.
Utilitários de dados
Note
Atualmente, o recurso está em pré-visualização.
Utilize os utilitários notebookutils.data para estabelecer ligação a uma origem de dados. Depois, pode ler e consultar dados usando uma instrução T-SQL.
Execute o seguinte comando para obter uma visão geral dos métodos disponíveis:
notebookutils.data.help()
Output:
Help on module notebookutils.data in notebookutils:
NAME
notebookutils.data - Utility for read/query data from connected data sources in Fabric
FUNCTIONS
connect_to_artifact(artifact: str, workspace: str = '', artifact_type: str = '', **kwargs)
Establishes and returns an ODBC connection to a specified artifact within a workspace
for subsequent data queries using T-SQL.
:param artifact: The name or ID of the artifact to connect to.
:param workspace: Optional; The workspace in which the provided artifact is located, if not provided,
use the workspace where the current notebook is located.
:param artifactType: Optional; The type of the artifact, Currently supported type are Lakehouse, Warehouse and MirroredDatabase.
If not provided, the method will try to determine the type automatically.
:param **kwargs Optional: Additional optional configuration. Supported keys include:
- tds_endpoint : Allow user to specify a custom TDS endpoint to use for connection.
:return: A connection object to the specified artifact.
:raises UnsupportedArtifactException: If the specified artifact type is not supported to connect.
:raises ArtifactNotFoundException: If the specified artifact is not found within the workspace.
Examples:
sql_query = "SELECT DB_NAME()"
with notebookutils.data.connect_to_artifact("ARTIFACT_NAME_OR_ID", "WORKSPACE_ID", "ARTIFACT_TYPE") as conn:
df = conn.query(sql_query)
display(df)
help(method_name: str = '') -> None
Provides help for the notebookutils.data module or the specified method.
Examples:
notebookutils.data.help()
notebookutils.data.help("connect_to_artifact")
:param method_name: The name of the method to get help with.
DATA
__all__ = ['help', 'connect_to_artifact']
FILE
/home/trusted-service-user/jupyter-env/python3.10/lib/python3.10/site-packages/notebookutils/data.py
Consultar dados da Lakehouse
conn = notebookutils.data.connect_to_artifact("lakehouse_name_or_id", "optional_workspace_id", "optional_lakehouse_type")
df = conn.query("SELECT * FROM sys.schemas;")
Consultar dados do Armazém
conn = notebookutils.data.connect_to_artifact("warehouse_name_or_id", "optional_workspace_id", "optional_warehouse_type")
df = conn.query("SELECT * FROM sys.schemas;")
Consultar dados a partir da base de dados SQL
conn = notebookutils.data.connect_to_artifact("sqldb_name_or_id", "optional_workspace_id", "optional_sqldatabase_type")
df = conn.query("SELECT * FROM sys.schemas;")
Note
As utilidades de dados no NotebookUtils estão disponíveis apenas em notebooks Python por agora.
Explorar trechos de código
Pode encontrar excertos úteis de código Python no separador Editar selecionando Explorar excertos de código. Novos exemplos de Python estão agora disponíveis. Para começares a explorar o caderno, aprende com os excertos de código em Python.
Ligação semântica
A ligação semântica é uma funcionalidade que pode usar para ligar modelos semânticos e Synapse Data Science. Os cadernos Python suportam esta funcionalidade de forma nativa. Engenheiros de BI e programadores de Power BI podem usar o link semântico para ligar e gerir modelos semânticos facilmente. Para saber mais, consulte o documento público.
Visualization
Além de desenhar gráficos com bibliotecas, a função de visualização integrada permite transformar DataFrames em visualizações de dados de formato avançado. Use a função display() nos dataframes para produzir a visualização rica da tabela de dataframes e a vista do gráfico.
Note
O caderno Python mantém as configurações de gráficos. Após reexecutar a célula de código, se o esquema do dataframe de destino não mudar, os gráficos guardados permanecem.
Código IntelliSense
Os cadernos Python também utilizam o Pylance como servidor de linguagem. Para mais informações, consulte Melhorar o desenvolvimento em Python com Pylance.
Recursos de ciência de dados
Para saber mais sobre ciência de dados e experiências de IA no Fabric, consulte a documentação de Ciência de Dados no Fabric. Este artigo lista algumas funcionalidades-chave da ciência de dados que os notebooks Python suportam nativamente.
Data Wrangler: O Data Wrangler é uma ferramenta baseada em cadernos que oferece uma interface imersiva para análise exploratória de dados. Esse recurso combina uma exibição de dados em forma de grade com estatísticas de resumo dinâmicas, visualizações internas e uma biblioteca de operações comuns de limpeza de dados. Proporciona limpeza de dados, transformação e integração, o que acelera a preparação dos dados através da utilização do Data Wrangler.
MLflow: Um experimento de aprendizado de máquina é a principal unidade de organização e controle para todas as execuções de aprendizado de máquina relacionadas. Uma execução corresponde a uma única execução do código do modelo.
Fabric Auto Logging: A Synapse Data Science inclui o autolog, que reduz significativamente a quantidade de código necessária para registar automaticamente os parâmetros, métricas e itens de um modelo de aprendizagem automática durante o treino.
O registro automático amplia os recursos do MLflow Tracking. O registro automático pode capturar várias métricas, incluindo precisão, perda, pontuação F1 e métricas personalizadas definidas por você. Usando o registro automático, desenvolvedores e cientistas de dados podem facilmente rastrear e comparar o desempenho de diferentes modelos e experimentos sem rastreamento manual.
Copilot: O Copilot para cadernos de Engenharia de Dados e Ciência de Dados é um assistente de IA que o ajuda a analisar e visualizar dados. O Copilot é imediatamente consciente do contexto sem precisar de iniciar uma sessão. Compreende o espaço de trabalho, esquemas Lakehouse anexados, tabelas e ficheiros, a estrutura do bloco de notas e o estado de execução, e pode operar em todo o fluxo de trabalho do bloco de notas.
O Copilot suporta capacidades multipassos para todo o caderno: pode gerar, refatorar, resumir e validar código em múltiplas células e passos em cadernos Python. Podes usar o painel de chat do Copilot e comandos de chat, como
/fixno caderno.Quando uma célula falha, Fix with Copilot apresenta um resumo de erros, análise da causa raiz e correções recomendadas, com a opção de aplicar automaticamente alterações ao código após mostrar um diff de aprovação. Também pode usar o
/fixcomando no chat do Copilot para diagnósticos direcionados numa célula específica ou em todo o caderno.
Limitações conhecidas
A experiência do live pool não está garantida para todas as execuções de notebooks em Python. A hora de início da sessão pode demorar até três minutos se a corrida do notebook não entrar no pool ao vivo. À medida que o uso de notebooks Python cresce, os métodos inteligentes de pooling aumentam gradualmente a alocação do pool ativo para responder à procura.
A integração de ambientes não está disponível em notebooks Python.
O timeout da sessão definido não está disponível.
O Copilot melhorou a consciência de contexto e o apoio para cadernos Python, mas por vezes pode sugerir código Spark que não é diretamente executável num caderno Python. A experiência Fix with Copilot aplica-se a células Python falhadas; Os diagnósticos de tarefas do Spark estão fora do âmbito para execuções puramente em Python.
Atualmente, o Copilot em notebooks Python não é totalmente suportado em várias regiões. O processo de implementação ainda está em curso. Fiquem atentos à medida que o suporte for surgindo em mais regiões.