Utilize experiência em Python num notebook
Observação
Atualmente, o recurso está em pré-visualização.
O notebook Python é uma nova experiência construída sobre o notebook 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. Isso 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.
Com um notebook Python, você pode obter:
Vários núcleos Python integrados: Os notebooks Python oferecem um ambiente de codificação puramente em Python, sem Spark, com duas versões do núcleo Python disponíveis por padrão - Python 3.10 e 3.11. Os recursos nativos do ipython são suportados, como iPyWidget e comandos mágicos.
Custo-eficaz: O novo notebook Python oferece benefícios de custo ao ser executado em um cluster de um único nó com 2 vCores e 16 GB de memória como padrão. Isso garante a utilização eficiente de recursos para projetos de exploração de dados com tamanho de dados menor.
Lakehouse & Resources estão disponíveis nativamente: O Fabric Lakehouse, juntamente com todas as funcionalidades dos recursos integrados do Notebook, podem ser usadas em notebooks Python. Isso permite que os usuários tragam facilmente os dados para o notebook python, basta tentar arrastar & soltar para obter o trecho de código.
Programação mista com T-SQL: O notebook Python oferece uma maneira fácil de interagir com Data Warehouse e pontos de extremidade SQL no explorador, usando o conector de dados notebookutils, pode-se facilmente executar os scripts T-SQL no contexto do Python.
Suporte para bibliotecas populares de análise de dados: Os notebooks Python vêm com bibliotecas pré-instaladas, como DuckDB, Polars e Scikit-learn, fornecendo um kit de ferramentas abrangente para manipulação de dados, análise e aprendizado de máquina.
Advanced intellisense: Python notebook está adotando o Pylance como o motor intellisense, juntamente com outro serviço de linguagem personalizada Fabric, com o objetivo de fornecer experiência de codificação de última geração para desenvolvedores de notebooks.
NotebookUtils & ligações semânticas: poderosos kits de ferramentas de API permitem-lhe usar facilmente as capacidades do Fabric e do Power BI com uma experiência de programação inicial.
Rich Visualization Capabilities: Exceto para as populares funções 'Tabela' e 'Gráfico' de visualização avançada de dataframes, também suportamos 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.
recursos comuns para o Fabric Notebook: Todos os recursos de nível de notebook são naturalmente aplicáveis para notebook Python, como recursos de edição, AutoSave, colaboração, compartilhamento e gerenciamento de permissões, integração Git, importação/exportação, etc.
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 acessar o Python Notebook
Depois de abrir um Fabric Notebook, você pode alternar para
A maioria dos recursos comuns é suportada ao nível de bloco de anotações, onde pode consultar Como usar blocos de anotações do Microsoft Fabric e Desenvolver, executar e gerir blocos de anotações do Microsoft Fabric para aprender o uso detalhado. Aqui listamos alguns dos principais recursos específicos para cenários Python.
Executar cadernos Python
O notebook Python suporta várias maneiras de execução de trabalho:
- Interactive run: Você pode executar um notebook Python interativamente como um notebook Jupyter nativo.
- Schedule run: Você pode usar a experiência leve do agendador na página de configurações do notebook para executar um notebook Python como uma tarefa em lote.
- Execução do Pipeline: Você pode orquestrar notebooks Python como atividades de notebook em pipeline de dados. O instantâneo será gerado após a execução do trabalho.
-
Referência de execução: Você pode usar
notebookutils.notebook.run()
ounotebookutils.notebook.runMultiple()
para referenciar blocos de notas Python em outro bloco de notas Python como tarefa em lote. A captura instantânea será gerada após a conclusão da execução da referência. API pública executar : Você pode agendar sua execução de bloco de anotações python com ode API pública de execução de bloco de anotações, certifique-se de que o idioma e as propriedades do kernel nos metadados do bloco de anotações da carga útil da API pública estejam definidos corretamente.
É possível monitorizar os detalhes de execução do trabalho do notebook Python na guia da faixa de opções Executar ->Exibir todas as execuções.
Interação de dados
Você pode interagir com lakehouses, data warehouses, endpoints SQL e pastas de recursos internos num notebook Python.
Interação com o Lakehouse
Você pode definir um Lakehouse como padrão, ou você também pode adicionar vários Lakehouses para explorá-los e usá-los em blocos de anotações.
Se não estiver familiarizado com a leitura dos objetos de dados, como a tabela delta , tente arrastar e soltar a tabela delta para a tela do bloco de anotações ou use o opção Carregar dados no menu suspenso do objeto. O notebook insere automaticamente um trecho de código numa célula de código e gera código para ler o objeto de dados de destino.
Observação
Se você encontrar OOM ao carregar um grande volume de dados, tente usar o dataframe DuckDB, Polars ou PyArrow em vez de pandas.
Você pode encontrar a operação de gravação Lakehouse em Procurar trecho de código ->Gravar dados na tabela delta.
Interação com armazéns e programação mista com T-SQL
Você pode adicionar Armazéns de Dados ou pontos de extremidade SQL a partir do explorador de Armazém de Dados do Notebook. Da mesma forma, você pode arrastar e soltar as tabelas na tela do bloco de anotações ou usar as operações de atalho no menu suspenso da tabela. O Notebook gera automaticamente um trecho de código para você. Você pode usar os utilitários notebookutils.data
para estabelecer uma conexão com Armazéns e consultar os dados usando a instrução T-SQL no contexto do Python.
Observação
Os pontos de extremidade SQL são somente leitura aqui.
Pasta de recursos do bloco de anotações
Os recursos do Notebook na pasta interna de recursos estão disponíveis nativamente no Python Notebook. Você pode facilmente interagir com os arquivos na pasta de recursos interna usando o código Python como se estivesse trabalhando com seu sistema de arquivos local. Atualmente, a pasta de recursos Ambiente não é suportada.
Operações do kernel
Python notebook suporta dois kernels embutidos agora, eles são Python 3.10 e Python 3.11, o kernel selecionado padrão é Python 3.11. você pode facilmente alternar entre eles.
Você pode interromper, reiniciar ou alternar o kernel no separador Home da barra de ferramentas. Interromper o kernel em notebooks do Python é equivalente a cancelar uma célula no notebook do Spark.
A saída anormal do kernel faz com que a execução do código seja interrompida e perca variáveis, mas não interrompe a sessão do bloco de anotações.
Existem comandos que podem levar à morte do kernel. Por exemplo, quit(), exit().
Gestão de bibliotecas
Você pode usar %pip e %conda comandos para instalações embutidas, os comandos suportam bibliotecas públicas e bibliotecas personalizadas.
Para bibliotecas personalizadas, você pode carregar os arquivos lib para a pasta recursos internos. Suportamos vários tipos de bibliotecas como .whl, .jar, .dll, .py, etc., basta tentar arrastar&soltar para o arquivo e o trecho de código é gerado automaticamente.
Pode ser necessário reiniciar o kernel para usar os pacotes atualizados.
Comando mágico de configuração de sessão
Semelhante à personalização de um de configuração de sessão do
Aqui estão as propriedades suportadas no bloco de anotações Python: %%configure
%%configure
{
"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 de recursos de computação na barra de status do notebook e monitorar o uso da CPU e da memória do nó de computação em tempo real.
NotebookUtils
O Notebook Utilities (NotebookUtils) é um pacote integrado para ajudá-lo a executar facilmente tarefas comuns no Fabric Notebook. Está pré-instalado no ambiente de execução do Python. Você pode usar NotebookUtils para trabalhar com sistemas de arquivos, obter variáveis de ambiente, encadear blocos de anotações, acessar armazenamento externo e trabalhar com segredos.
Você pode usar notebookutils.help()
para listar APIs disponíveis e também obter ajuda com métodos ou fazer referência ao documento NotebookUtils.
Utilitários de dados
Observação
- Atualmente, o recurso está em pré-visualização.
- O contrato API pode mudar em um futuro próximo.
Você pode usar utilitários notebookutils.data
para estabelecer uma conexão com a fonte de dados fornecida e, em seguida, ler e consultar dados usando a instrução T-SQL.
Execute o seguinte comando para obter uma visão geral dos métodos disponíveis:
notebookutils.data.help()
Saída:
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 = None) -> pyodbc.Connection
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.
: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:
cursor = conn.cursor()
cursor.execute(sql_query)
rows = cursor.fetchall()
for row in rows:
print(row)
help(method_name=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.11/lib/python3.11/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")
cursor = conn.cursor()
cursor.execute("SELECT * FROM sys.schemas;")
rows = cursor.fetchall()
for row in rows:
print(row)
Consultar dados do Armazém
conn = notebookutils.data.connect_to_artifact("warehouse_name_or_id", "optional_workspace_id", "optional_warehouse_type")
cursor = conn.cursor()
cursor.execute("SELECT * FROM sys.schemas;")
rows = cursor.fetchall()
for row in rows:
print(row)
Observação
- Os utilitários de dados no NotebookUtils só estão disponíveis no notebook Python por enquanto.
- Limitação conhecida: para
connect_to_artifact
API, o objetoconn
retornado inicializa internamente um token PBI para autenticar o usuário ao se conectar à fonte de dados. No entanto, ele não suporta atualização de token. Atualmente, o token PBI é válido por apenas uma hora, qualquer consulta que exceda uma hora falhará devido a um problema de expiração do token.
Explorar trechos de código
Você pode encontrar trechos de código Python úteis no separador Editar ->Procurar trecho de código, novos exemplos Python estão agora disponíveis. Você pode aprender com o trecho de código Python para começar a explorar o notebook interativo.
Ligação semântica
O link semântico é um recurso que permite estabelecer uma conexão entre modelos semânticos e o Synapse Data Science no Microsoft Fabric. É suportado nativamente no notebook Python. Os engenheiros de BI e os desenvolvedores do Power BI podem usar o link semântico, conectar e gerenciar o modelo semântico facilmente. Leia o documento público para aprender sobre o Link Semântico.
Visualização
Além de desenhar gráficos com bibliotecas, a função de de visualização integrada permite transformar DataFrames em visualizações de dados de formato rico. Você pode usar a função display() em dataframes para produzir a exibição avançada de tabela de dataframe e a exibição de gráfico.
Observação
As configurações do gráfico serão mantidas no bloco de anotações Python, o que significa que, depois de executar novamente a célula de código, se o esquema do dataframe de destino não for alterado, os gráficos salvos ainda serão mantidos.
Código intelliSense
O notebook Python integrou o Pylance para melhorar a experiência de codificação em Python, Pylance é o serviço de linguagem padrão para Python no Visual Studio Code. Ele fornece muitas funções fáceis de usar, como realce de palavras-chave, informações rápidas, conclusão de código, informações de parâmetros e deteção de erros de sintaxe. Além disso, o Pylance tem melhor desempenho quando o notebook é longo.
Recursos de ciência de dados
Visite documentações de Ciência de Dados no Microsoft Fabric para saber mais sobre ciência de dados e experiência em IA no Fabric. Aqui listamos alguns dos principais recursos de ciência de dados que são suportados nativamente no notebook Python.
Data Wrangler: O Data Wrangler é uma ferramenta baseada em notebook que fornece uma interface imersiva para análise de dados de exploração. 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. Ele fornece limpeza de dados, transformação de dados e integração, o que acelera a preparação de dados com o 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: Synapse Data Science no Microsoft Fabric inclui registro automático, o 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 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: Copilot para notebooks de Ciência de Dados e Engenharia de Dados é um assistente de IA que o ajuda a analisar e visualizar dados. Ele funciona com tabelas lakehouse, conjuntos de dados do Power BI e dataframes pandas/spark, fornecendo respostas e trechos de código diretamente no bloco de anotações. Você pode usar o painel de bate-papo do Copilot e Char-magics no notebook, e a IA fornece respostas ou código que pode copiar para o seu notebook.
Limitações conhecidas da pré-visualização pública
A experiência ao vivo de pool não é garantida para cada execução de notebook em Python. A hora de início da sessão pode demorar até 3 minutos se a execução do notebook não atingir o pool ativo. À medida que o uso do notebook Python cresce, os nossos métodos inteligentes de pooling aumentarão gradualmente a alocação do pool ativo para atender à procura.
A integração de ambiente não está disponível no notebook Python na pré-visualização pública.
Definir o tempo limite da sessão não está disponível por enquanto.
O Copilot pode gerar uma instrução Spark, que pode não ser executada num notebook Python.
Atualmente, o Copilot no notebook Python não é totalmente suportado em várias regiões. O processo de implantação ainda está em andamento, fique atento à medida que continuamos a implantar o suporte em mais regiões.