Utilizar experiência em Python no Notebook
Nota
Atualmente, o recurso está em versão prévia.
O notebook Python é uma nova experiência criada com base no notebook do Fabric. É uma ferramenta versátil e interativa projetada para análise de dados, visualização e machine learning. 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 kernels de Python integrados: notebooks Python oferecem um ambiente de codificação Python puro sem Spark, com duas versões do kernel Python – Python 3.10 e 3.11, disponíveis por padrão, e os recursos nativos do iPython com suporte, como iPyWidget e comandos magic.
Econômico: o novo notebook Python oferece benefícios de economia de custos por padrão, executando em um cluster de nó único com 2vCores e 16 GB de memória. Isso garante uma utilização eficiente de recursos para projetos de exploração de dados com tamanho de dados menor.
Lakehouse e recursos estão nativamente disponíveis: o Fabric Lakehouse, juntamente com a funcionalidade completa dos Recursos integrados ao Notebook, está disponível no notebook Python. Isso permite que os usuários levem facilmente os dados para o notebook Python, basta tentar arrastar e soltar para obter o snippet de código.
Combinar programação com T-SQL: o notebook Python oferece um jeito fácil de interagir com os pontos de extremidade do Data Warehouse e do SQL no Explorer. Usando o conector de dados notebookutils, é possível executar facilmente os scripts T-SQL no contexto do Python.
O suporte para bibliotecas populares de análise de dados: 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.
Intellisense Avançado: o notebook Python está adotando o Pylance como mecanismo do IntelliSense, além de outro serviço de linguagem personalizado do Fabric, para proporcionar uma experiência de codificação de ponta para desenvolvedores de notebooks.
NotebookUtils e link semântico: kits de ferramentas de API avançados permitem usar facilmente as funcionalidades do Fabric e do Power BI com experiência orientada a código.
Recursos Avançados de Visualização: Além das funções populares de pré-visualização rica de dataframe 'Table' e 'Chart', também damos suporte a bibliotecas populares de visualização como Matplotlib, Seaborn e Plotly. O PowerBIClient também dá suporte a essas bibliotecas para ajudar os usuários a entender melhor os padrões de dados e insights.
Capacidades comuns para o notebook do Fabric: todas as capacidades em nível de notebook são naturalmente aplicáveis ao notebook Python, como edição, AutoSave, colaboração, compartilhamento e gerenciamento de permissões, integração com o Git, importação/exportação etc.
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 o Python Notebook
Depois de abrir um Notebook do Fabric, você pode alternar para Python no menu suspenso de linguagem na guia Página Inicial e converter toda a configuração do notebook em Python.
A maioria dos recursos comuns é suportada no nível de notebook. Consulte "Como usar notebooks do Microsoft Fabric" e "Desenvolver, executar e gerenciar notebooks do Microsoft Fabric" para obter informações detalhadas sobre o uso. Aqui, listamos alguns recursos importantes específicos para cenários do Python.
Executar notebooks Python
O notebook Python dá suporte a várias maneiras de execução de trabalho:
- Execução interativa: você pode executar interativamente um notebook Python como um notebook Jupyter nativo.
- Agendar a execução: você pode usar a experiência do agendador leve na página de configurações do notebook para executar o notebook Python como um trabalho em lotes.
- Execução de 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.
- 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 lotes. O instantâneo será gerado após a conclusão da execução de referência. - Execução de API pública: você pode agendar a execução do notebook Python com a API pública de execução de notebook. Verifique se as propriedades de linguagem e kernel nos metadados do notebook do conteúdo da API pública estão definidas corretamente.
Você pode monitorar os detalhes de execução do trabalho no notebook Python na guia de faixa de opções Executar –>Exibir todas as execuções.
Interação de dados
Você pode interagir com o Lakehouse, os Warehouses, os endpoints SQL e as pastas de recursos internos com o notebook Python.
Interação do Lakehouse
Você pode definir um Lakehouse como o padrão ou também pode adicionar várias Lakehouses para explorá-las e usá-las em blocos de anotações.
Se você não estiver familiarizado com a leitura de objetos de dados como tabela delta, tente arrastar e soltar o arquivo e a tabela delta na tela do notebook ou use a opção Carregar dados no menu suspenso do objeto. O notebook insere automaticamente o snippet de código na célula de código e gera o código para ler o objeto de dados almejado.
Nota
Se você encontrar o 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 do Lakehouse em Navegar no snippet de código –>Gravar dados na tabela delta.
Interação de armazém e programação combinada com T-SQL
Você pode adicionar Data Warehouses ou pontos de extremidade SQL do Explorador de Warehouse 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 notebook gera automaticamente um snippet 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 a instrução T-SQL no contexto do Python.
Nota
Os pontos de extremidade SQL são somente leitura aqui.
Pasta de recursos do notebook
A pasta de recursos integrados de recursos do Notebook está disponível nativamente no Notebook Python. Você pode interagir facilmente com os arquivos na pasta de recursos internos usando o código Python como se estivesse trabalhando com seu sistema de arquivos local. Atualmente, não há suporte para a pasta de recursos de ambiente.
Operações de kernel
O notebook Python dá suporte a dois kernels internos no momento, eles são Python 3.10 e Python 3.11, o kernel padrão selecionado é Python 3.11. você pode alternar facilmente entre eles.
Você pode interromper, reiniciar ou alternar o kernel na guia Página Inicial da faixa de opções. Interromper o kernel nos notebooks do Python é o mesmo que cancelar células nos notebooks 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 notebook.
Há comandos que podem levar à morte do kernel. Por exemplo, quit(), exit().
Gerenciamento de biblioteca
Você pode usar comandos %pip e %conda para instalações embutidas, os comandos dão suporte a bibliotecas públicas e bibliotecas personalizadas.
Para bibliotecas personalizadas, você pode carregar os arquivos lib na pasta Recursos integrados. Oferecemos suporte a vários tipos de bibliotecas, como .whl, .jar, .dll, .py etc., basta tentar arrastar e soltar para o arquivo e o snippet de código é gerado automaticamente.
Talvez seja necessário reiniciar o kernel para usar os pacotes atualizados.
Comando mágico de configuração de sessão
Semelhante à personalização de uma configuração de sessão do Spark no notebook, também é possível usar %%configure no notebook Python. O notebook Python dá suporte à personalização dos nós de computação, dos principais pontos de montagem e do lakehouse padrão da sessão do notebook. Eles podem ser usados em atividades interativas de notebook e notebook de pipeline. É recomendável usar o comando %%configure no início do notebook ou reiniciar a sessão do notebook para que as configurações tenham efeito.
Aqui estão as propriedades com suporte no notebook 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 exibir a atualização de recursos de computação na barra de status do notebook e monitorar o uso da CPU e memória do nó de computação em tempo real.
NotebookUtils
Notebook Utilities (NotebookUtils) é um pacote interno para ajudá-lo a executar facilmente tarefas comuns no Fabric Notebook. Ele é pré-instalado no runtime do Python. Você pode usar o NotebookUtils para trabalhar com sistemas de arquivos, obter variáveis de ambiente, encadear notebooks juntos, acessar o 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 referenciar o documento NotebookUtils.
Utilitários de dados
Nota
- Atualmente, o recurso está em versão prévia.
- O contrato de API pode mudar em um futuro próximo.
Você pode usar notebookutils.data
utilitários 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 do 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 Warehouse
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)
Nota
- 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 dá suporte à atualização de token. Atualmente, o token PBI é válido por apenas uma hora, qualquer consulta que exceder uma hora falhará devido ao problema de expiração do token.
Navegar por trechos de código
Você pode encontrar snippets de código Python úteis na guia Editar –>Procurar snippet de código, novos exemplos de Python agora estão disponíveis. Você pode aprender com o snippet de código Python para começar a explorar o notebook.
Link semântico
O link semântico é um recurso que permite estabelecer uma conexão entre modelos semânticos e o Synapse Data Science no Microsoft Fabric. Ele tem suporte nativo no notebook Python. Engenheiros de BI e desenvolvedores do Power BI podem usar a conexão semântica de link e gerenciar o modelo semântico facilmente. Leia o documento público para saber mais sobre o link semântico.
Visualização
Além de desenhar gráficos com bibliotecas, a função integrada de visualização permite que você transforme DataFrames em visualizações de dados em um formato avançado. Você pode usar a função display() em dataframes para produzir a visualização avançada da tabela de dataframe e a visualização de gráfico.
Nota
As configurações do gráfico serão mantidas no notebook Python, o que significa que depois de executar novamente a célula de código, se o esquema de dataframe de destino não tiver sido alterado, os gráficos salvos ainda serão persistidos.
Código IntelliSense
Notebooks Python integraram o Pylance para aprimorar a experiência de codificação em Python. Pylance é o suporte de serviço de linguagem padrão para Python no Visual Studio Code. Ele fornece muitas funções fáceis de usar, como realce de palavra-chave, informações rápidas, preenchimento de código, informações de parâmetro e detecção de erros de sintaxe. Além disso, a Pylance tem melhor desempenho quando o notebook é longo.
Funcionalidades 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 de IA no Fabric. Aqui, listamos alguns dos principais recursos de ciência de dados que têm suporte nativo 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 semelhante à grade com estatísticas de resumo dinâmico, 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: A Ciência de Dados do Synapse no Microsoft Fabric inclui o registro automático, o que reduz significativamente a quantidade de código necessário 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 estende os recursos de Acompanhamento 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. Usando o registro automático, desenvolvedores e cientistas de dados podem acompanhar e comparar facilmente o desempenho de diferentes modelos e experimentos sem acompanhamento manual.
Copilot: o Copilot for Data Science and Data Engineering notebooks é um assistente de IA que ajuda você a analisar e visualizar dados. Ele funciona com tabelas lakehouse, conjuntos de dados do Power BI e dataframes pandas/spark, fornecendo respostas e snippets de código diretamente no notebook. Você pode usar o painel do Copilot chat e Char-magics no notebook, e a IA fornece respostas ou código que você pode copiar para o seu notebook.
Limitações conhecidas da prévia pública
A experiência ao vivo do pool não é garantida para cada execução do notebook Python. O tempo de início da sessão poderá atrasar até três minutos se a execução do notebook não acessar o pool ao vivo. Com o aumento no uso dos notebooks Python, nossos métodos inteligentes de pooling aumentarão gradualmente a alocação do pool ao vivo para atender à demanda.
A integração de ambiente não está disponível no notebook Python na versão prévia pública.
O tempo limite de sessão definido não está disponível por enquanto.
O copilot pode gerar a instrução Spark, que pode não ser executável no notebook Python.