Compartilhar via


Usar notebooks do Fabric com dados de um banco de dados KQL

Notebooks são documentos legíveis que contêm descrições e resultados de análise de dados, além de documentos executáveis que podem ser executados para realizar a análise de dados. Neste artigo, você aprenderá a usar um notebook do Fabric para se conectar a dados em um Banco de dados KQL e executar consultas usando KQL (Linguagem de Consulta Kusto) nativo. Para obter mais informações sobre notebooks, confira Como usar notebooks do Microsoft Fabric.

Há duas maneiras de usar notebooks do Fabric com dados do banco de dados KQL:

Pré-requisitos

Usar trechos de código Kusto em um notebook

Os notebooks do Fabric fornecem trechos de código que ajudam você a escrever facilmente padrões de código usados com frequência. Você pode usar trechos de código para gravar ou ler dados em um banco de dados KQL usando KQL.

  1. Procure um notebook existente ou crie um novo.

  2. Em uma célula de código, comece a digitar kusto.

    Captura de tela do uso de um snippet kusto para usar o KQL em um notebook Fabric.

  3. Selecione o trecho que corresponde à operação que você deseja executar: Gravar dados em um banco de dados KQL ou Ler dados de um banco de dados KQL.

    O trecho de código a seguir mostra o exemplo de operação de leitura de dados:

    # Example of query for reading data from Kusto. Replace T with your <tablename>.
    kustoQuery = "['T'] | take 10"
    # The query URI for reading the data e.g. https://<>.kusto.data.microsoft.com.
    kustoUri = "https://<yourKQLdatabaseURI>.z0.kusto.data.microsoft.com"
    # The database with data to be read.
    database = "DocsDatabase"
    # The access credentials.
    accessToken = mssparkutils.credentials.getToken(kustoUri)
    kustoDf  = spark.read\
        .format("com.microsoft.kusto.spark.synapse.datasource")\
        .option("accessToken", accessToken)\
        .option("kustoCluster", kustoUri)\
        .option("kustoDatabase", database)\
        .option("kustoQuery", kustoQuery).load()
    
    # Example that uses the result data frame.
    kustoDf.show()
    

    O trecho de código a seguir mostra o exemplo de operação de gravação de dados:

    # The Kusto cluster uri to write the data. The query Uri is of the form https://<>.kusto.data.microsoft.com 
    kustoUri = ""
    # The database to write the data
    database = ""
    # The table to write the data 
    table    = ""
    # The access credentials for the write
    accessToken = mssparkutils.credentials.getToken(kustoUri)
    
    # Generate a range of 5 rows with Id's 5 to 9
    data = spark.range(5,10) 
    
    # Write data to a Kusto table
    data.write.\
    format("com.microsoft.kusto.spark.synapse.datasource").\
    option("kustoCluster",kustoUri).\
    option("kustoDatabase",database).\
    option("kustoTable", table).\
    option("accessToken", accessToken ).\
    option("tableCreateOptions", "CreateIfNotExist").mode("Append").save()
    
  4. Insira as informações necessárias entre as aspas de cada campo na célula de dados:

    Campo Descrição Links relacionados
    kustoQuery A consulta KQL a ser avaliada. Visão geral da KQL
    KustoUri O URI de consulta do banco de dados KQL. Copiar o URI de um banco de dados KQL
    Banco de Dados O nome do banco de dados KQL. Acessar um banco de dados KQL existente
    data Os dados a serem gravados na tabela.
  5. Execute a célula de código.

Criar um notebook de um banco de dados KQL

Quando você cria um notebook como um item relacionado em um banco de dados KQL, o notebook recebe o mesmo nome do banco de dados KQL e é pré-preenchido com informações de conexão.

  1. Navegue até o banco de dados KQL.

  2. Selecione Novo item relacionado>Notebook.

    Captura de tela da criação de um notebook como um item relacionado em um banco de dados KQL.

    Um notebook é criado com os detalhes de KustoUri e do banco de dados pré-preenchidos.

  3. Insira a consulta KQL a ser avaliada no campo kustoQuery.

    Captura de tela do notebook criado com base em um banco de dados KQL.

  4. Execute a célula de código.