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 notebook Python é uma nova experiência construída sobre notebooks no Fabric. É uma ferramenta versátil e interativa, projetada para análise de dados, visualização e aprendizado de máquina. Ele fornece uma experiência de desenvolvimento perfeita para escrever e executar código Python. Essa funcionalidade 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.
Usando um notebook em Python, você obtém:
Múltiplos kernels Python embutidos: Os notebooks Python oferecem um ambiente de programação puramente Python sem Spark, com três versões integradas do kernel Python: Python 3.10, Python 3.11 e Python 3.12. O ambiente suporta recursos nativos do IPython, como iPyWidget e comandos mágicos.
Custo-benefício: o novo notebook Python oferece benefícios de economia de custos ao executar em um cluster de nó único com 2 vCores e 16 GB de memória por padrão. Essa configuração garante uma utilização eficiente de recursos para projetos de exploração de dados com tamanho de dados menor.
Lakehouse e recursos estão disponíveis nativamente: O Fabric Lakehouse junto com recursos integrados ao caderno e todas as funcionalidades estão disponíveis no notebook Python. Esse recurso permite que os usuários levem facilmente os dados para o notebook Python, basta tentar arrastar e soltar para obter o trecho de código.
Misture programação com T-SQL: o notebook Python oferece uma maneira fácil de interagir com endpoints de análise de Data Warehouse e SQL no explorer. Usando o notebookutils data connector, você pode executar facilmente os scripts T-SQL no contexto do Python.
Suporte para bibliotecas de Análise de Dados Populares: Notebooks Python vêm com bibliotecas pré-instaladas como DuckDB, Polars e Scikit-learn, fornecendo um conjunto de ferramentas abrangente para manipulação de dados, análise e aprendizado de máquina.
IntelliSense Avançado: O notebook Python adota o Pylance como motor IntelliSense, junto com outros serviços personalizados de linguagens Fabric, com o objetivo de fornecer experiência de programação de ponta para desenvolvedores de notebooks.
NotebookUtils e Link Semântico: Poderosos conjuntos de ferramentas de API permitem usar facilmente os recursos do Fabric e do Power BI em uma experiência code-first.
Recursos avançados de visualização: Além das populares funções 'Table' e 'Chart' da visualização avançada de dataframes, também oferece suporte a bibliotecas de visualização populares como Matplotlib, Seaborn e Plotly. O PowerBIClient também oferece suporte a essas bibliotecas para ajudar os usuários a entender melhor os padrões e insights de dados.
Capacidades Comuns para Fabric Notebook: Todos os recursos em nível de notebook são naturalmente aplicáveis para Python notebook, como recursos de edição, AutoSave, colaboração, compartilhamento e gerenciamento de permissões, integração com Git, importação/exportação e mais.
Capacidades de ciência de dados full-stack: a caixa de ferramentas avançada low-code Data Wrangler, o framework de aprendizado de máquina MLFlow e o eficiente Copilot estão todos disponíveis no notebook Python.
Como acessar um caderno Python
Depois de abrir um caderno no Fabric, você pode mudar para Python no menu suspenso da linguagem na aba Inicial e converter toda a configuração do caderno para Python.
A maioria dos recursos comuns é suportada no nível do notebook. Para saber mais, veja Como usar notebooks Fabric e Desenvolver, executar e gerenciar notebooks Fabric. Este artigo lista algumas capacidades principais específicas para cenários em Python.
Executar notebooks Python
Notebooks Python suportam múltiplos métodos de execução de tarefas:
- Execução interativa: você pode executar um notebook Python interativamente como um jupyter notebook nativo.
- Execução agendada: Você pode usar a experiência simplificada do agendador na página de configurações do notebook para executar um notebook Python como um trabalho em lote.
- Execução do pipeline: você pode 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 a execução de notebooks Python em outro notebook Python como trabalho em lote. O processo gera um snapshot após o término da execução de referência. -
%run: Você pode usar
%runpara referenciar e executar outros notebooks dentro do mesmo contexto de execução, então pode chamar funções diretamente e reutilizar variáveis definidas nesses notebooks. Para obter mais detalhes, consulte a documentação sobre como referenciar a execução de um notebook. - Execução da API pública: você pode agendar a execução do notebook Python com a API pública de execução do notebook. A API do Agendador de Trabalhos dá suporte a execuções parametrizadas e ao retorno de valores de saída de execuções de notebook. Os valores de saída podem ser usados para orquestração condicional e sinalização de resultados na orquestração de notebooks Python em cenários de automação e CI/CD. Verifique se as propriedades de idioma e kernel nos metadados do notebook do conteúdo da API pública estão definidas corretamente. Os valores de parâmetro passados por meio da API Pública estão disponíveis para o notebook Python em tempo de execução usando o padrão de acesso a parâmetros utilizado nos notebooks do Fabric. Para obter detalhes sobre a forma de solicitação para parâmetros e a recuperação de valor de saída, consulte Gerenciar e executar notebooks no Fabric com APIs. Você pode monitorar o status da execução e cancelar instâncias de trabalho por meio da API do Agendador de Trabalho, complementando a experiência in-UI Exibir todas as execuções .
Note
A autenticação principal de serviço tem suporte para a API REST de Itens (CRUD para notebooks) e a API de Agendamento de Tarefas (execução), permitindo automação segura e sem intervenção humana, além de CI/CD para os notebooks em Python. Adicione o principal de serviço ao espaço de trabalho com uma função apropriada para usar essas APIs.
Você pode monitorar os detalhes da execução do trabalho do bloco de anotações do Python na guia Executar ->Exibir todas as execuções.
Note
Atualmente, %run só oferece suporte a referências a itens de notebook em notebooks Python, não a módulos de código (como arquivos .py) da pasta de recursos do notebook.
Interação de dados
Você pode interagir com o lakehouse, warehouses, endpoints de análise SQL e pastas de recursos integradas em notebooks Python.
Note
O runtime do notebook Python vem pré-instalado com as bibliotecas delta-rs e duckdb para suportar tanto a leitura quanto a gravação de dados do Delta Lake. No entanto, algumas características do Delta Lake podem não ser totalmente suportadas. Para mais detalhes e as últimas atualizações, veja a documentação do delta-rs e do DuckDB .
Interação no Lakehouse
Você pode definir uma casa no lago como padrão, ou também adicionar várias casas no lago para explorar e usá-las em cadernos.
Se você não está familiarizado com a leitura de objetos de dados como a tabela Delta, tente arrastar e soltar o arquivo e a tabela Delta para a tela do caderno, ou use a opção Carregar dados no menu suspenso do objeto. O caderno insere automaticamente um trecho de código em uma célula de código e gera código para ler o objeto de dados alvo.
Note
Se você encontrar OOM ao carregar um grande volume de dados, tente usar um dataframe do DuckDB, do Polars ou do PyArrow em vez do pandas.
Você pode encontrar a operação de escrever lakehouse em Browse code snippet ->Write data to Delta table.
Interação de armazém e programação combinada com T-SQL
Você pode adicionar warehouses ou endpoints de análise SQL a partir do explorador de armazém do notebook. Da mesma forma, você pode arrastar e soltar as tabelas na tela do notebook digital ou usar as operações de atalho no menu suspenso da tabela. O caderno gera automaticamente um trecho de código para você. Você pode usar os utilitários notebookutils.data para estabelecer uma conexão com os 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 notebook
A pasta de recursos embutida do Notebook está disponível nativamente nos notebooks Python. Você pode interagir facilmente com os arquivos na pasta de recursos embutida usando código Python como se estivesse trabalhando com seu sistema de arquivos local. Atualmente, a pasta de recursos Ambiente não é suportada.
Operações de kernel
Notebooks Python suportam três kernels embutidos: Python 3.10, Python 3.11 e Python 3.12. O kernel selecionado padrão é Python 3.12. Você pode facilmente alternar entre eles.
Você pode interromper, reiniciar ou trocar o kernel na aba Home da fita. Interromper o kernel em notebooks Python é o mesmo que cancelar uma célula em notebooks Spark.
Uma saída anormal do kernel causa a interrupção da execução do código e a perda de variáveis, mas isso não interrompe a sessão do notebook.
Alguns comandos podem levar ao fim 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 etapas de migração, veja o tempo de execução do notebook Python e o ciclo de vida do kernel no Fabric.
Gerenciamento de biblioteca
Use os comandos %pip e %conda para instalações embutidas. Esses comandos suportam tanto bibliotecas públicas quanto bibliotecas personalizadas.
Para bibliotecas personalizadas, faça o upload dos arquivos da biblioteca para a pasta de recursos embutidos . A plataforma suporta múltiplos tipos de bibliotecas, incluindo formatos como Roda (.whl), JAR (.jar), DLL (.dll) e Python (.py). Basta arrastar e soltar o arquivo, e o trecho de código é gerado automaticamente.
Talvez você precise reiniciar o kernel para usar os pacotes atualizados.
Para entender melhor e usar comandos semelhantes, consulte a tabela a seguir.
| Command/Syntax | Finalidade principal | Como funciona no Jupyter Notebook | Caso de uso típico | Notes |
|---|---|---|---|---|
%pip install package |
Instalar pacotes do Python | Executa o pip no kernel do Python do notebook | Maneira recomendada de instalar pacotes | Em notebooks Python, o mesmo que !pip; não reinicia automaticamente o kernel |
!pip install package |
Instalar pacotes do Python por meio do shell | Executa pip como um comando de shell | Maneira alternativa de instalar pacotes | Em notebooks Python, o mesmo que %pip; não reinicia automaticamente o kernel |
import sys; sys.exit(0) |
Reiniciar 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() |
Reiniciar o kernel do notebook | Chama sys.exit(0) internamente |
Maneira recomendada de reiniciar o kernel | API oficial, mais segura e mais compatível do que usar sys.exit(0) diretamente |
Note
- Em notebooks Python,
%pipe!pipapresentam o mesmo comportamento: ambos instalam pacotes no ambiente do kernel atual, e nenhum reinicia automaticamente o kernel após a instalação. - Se você precisar reiniciar o kernel (por exemplo, após instalar certos pacotes), use
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 notebook.
-
- Não use
sys.exit(0)diretamente a menos que seja necessário.
Monitoramento de uso de recursos em tempo real do notebook Python
Importante
Esse recurso está na versão prévia.
Ao usar o painel de monitoramento de recursos, você 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 consumo de CPU e memória, diretamente dentro do seu notebook. Esse recurso fornece uma visão geral imediata da sessão ativa e dos recursos que estão sendo usados.
O monitor de recursos melhora a visibilidade de como as cargas de trabalho do Python utilizam recursos do sistema. Ele ajuda você a otimizar o desempenho, gerenciar custos e reduzir o risco de erros de memória insuficiente (OOM). Monitorando as métricas em tempo real, você pode identificar operações com uso intensivo de 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 o idioma do 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 notebook ou selecionando Exibir o uso do recurso na barra de ferramentas. O painel do monitor de recursos aparece automaticamente, oferecendo uma experiência integrada de monitoramento para código Python em notebooks Fabric.
Comando mágico de configuração de sessão
Assim como ao personalizar uma configuração de sessão do Spark em um notebook, você também pode usar %%configure em um notebook Python. Notebooks Python suportam personalizar o tamanho do nó de computação, pontos de montagem e o lakehouse padrão da sessão do notebook. Você pode usar essas configurações tanto em notebooks interativos quanto em atividades de cadernos de pipeline. Use o %%configure comando no início do seu caderno, caso contrário você terá que reiniciar a sessão do notebook para que as configurações entrem em vigor.
Aqui estão as propriedades com suporte no notebook Python %%configure:
%%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>"
},
],
}
Você pode visualizar a atualização dos recursos de computação na barra de status do notebook e monitorar o uso de CPU e memória do nó de computação em tempo real.
Note
Executões acionadas por API honram configurações de sessão, como vCores de computação e defaultLakehouse, especificadas por meio de metadados do notebook ou %%configure. A API do Agendador de Tarefas também suporta a seleção do lago e do ambiente alvo em tempo de execução. Para obter detalhes sobre os campos de conteúdo, consulte Gerenciar e executar notebooks no Fabric com APIs.
NotebookUtils
Notebook Utilities (NotebookUtils) é um pacote embutido que ajuda você a realizar tarefas comuns facilmente no Fabric notebook. Ele está pré-instalado no runtime Python. Use o NotebookUtils para trabalhar com sistemas de arquivos, obter variáveis de ambiente, encadear notebooks, acessar 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 versão prévia.
Use os utilitários notebookutils.data para conectar-se a uma fonte de dados. Depois, você 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 do 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 Warehouse
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 do banco 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
Os utilitários de dados no NotebookUtils estão disponíveis apenas em notebooks Python por enquanto.
Navegar por trechos de código
Você pode encontrar trechos úteis de código Python na aba Editar selecionando Navegar por trechos de código. Novos exemplos de Python já estão disponíveis. Para começar a explorar o caderno, aprenda com trechos de código em Python.
Link semântico
O link semântico é um recurso que você pode usar para conectar modelos semânticos e Synapse Data Science. Notebooks Python suportam nativamente esse recurso. Engenheiros de BI e desenvolvedores de Power BI podem usar o link semântico para conectar e gerenciar 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 interna permite que você transforme DataFrames em visualizações de dados de formato avançado. Use a função display() em dataframes para produzir a visualização rica de tabela de dataframes e a visualização de gráfico.
Note
O notebook 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 salvos permanecem.
Código IntelliSense
Notebooks Python também usam Pylance como servidor de linguagem. Para mais informações, veja Aprimorar o desenvolvimento em Python com Pylance.
Capacidades de ciência de dados
Para saber mais sobre ciência de dados e experiências de IA em Fabric, veja a documentação de Ciência de Dados no Fabric. Este artigo lista alguns recursos-chave da ciência de dados que os notebooks Python suportam nativamente.
Data Wrangler: 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 grade com estatísticas de resumo dinâmicas, visualizações integradas e uma biblioteca de operações comuns de limpeza de dados. Ele oferece limpeza de dados, transformação e integração, o que acelera a preparação dos dados usando o Data Wrangler.
MLflow: um experimento de machine learning é 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 autolog, que reduz significativamente a quantidade de código necessária para registrar automaticamente os parâmetros, métricas e itens de um modelo de aprendizado de máquina durante o treinamento.
O registro automático amplia os recursos de rastreamento do MLflow. O registro automático pode capturar várias métricas, incluindo precisão, perda, pontuação F1 e métricas personalizadas que você definir. Ao usar o registro automático, desenvolvedores e cientistas de dados podem rastrear e comparar facilmente o desempenho de diferentes modelos e experimentos sem rastreamento manual.
Copilot: O Copilot para notebooks de Engenharia de Dados e Ciência de Dados é um assistente de IA que ajuda você a analisar e visualizar dados. Copilot está imediatamente ciente do contexto sem exigir que você inicie uma sessão. Ele compreende o workspace, os esquemas do Lakehouse, as tabelas e arquivos anexados, a estrutura do notebook e o estado de tempo de execução e pode operar em todo o fluxo de trabalho do notebook.
O Copilot oferece recursos de várias etapas em todo o notebook: ele pode gerar, refatorar, resumir e validar código em várias células e etapas em notebooks em Python. Você pode usar o painel de chat do Copilot e comandos de chat, como
/fix, no notebook.Quando uma célula falha, Correção com Copilot apresenta um resumo de erros, análise de causa raiz e correções recomendadas, com uma opção para aplicar automaticamente as alterações de código depois de mostrar uma diferença de aprovação. Você também pode usar o
/fixcomando no chat do Copilot para diagnóstico direcionado em uma célula específica ou em todo o notebook.
Limitações conhecidas
A experiência do live pool não é garantida para todas as rodadas de notebook em Python. O início da sessão pode levar até três minutos se a execução do notebook não usar o pool ativo. À medida que o uso de notebooks Python cresce, métodos inteligentes de agrupamento aumentam gradualmente a alocação no pool ativo para atender à demanda.
A integração com ambientes não está disponível em notebooks Python.
O timeout da sessão definido não está disponível.
O Copilot melhorou a conscientização de contexto e a assistência para notebooks Python, mas ele pode ocasionalmente sugerir código Spark que não seja executável diretamente em um notebook Python. A funcionalidade de Correção com o Copilot aplica-se a células Python com falha; O diagnóstico de trabalho do Spark está fora do escopo para execuções em Python puro.
Atualmente, o Copilot em notebooks Python não é totalmente suportado em várias regiões. O processo de implantação ainda está em andamento. Fique atento à medida que o suporte for disponibilizado em mais regiões.