Início Rápido: Consultar e consumir dados do OneLake através do Microsoft Fabric

Neste início rápido, utiliza três motores do Fabric para interagir com a mesma tabela do lakehouse. Primeiro, consulta a tabela usando o endpoint de análise SQL. Depois, constróis um relatório Power BI em modo Direct Lake sobre essa mesma tabela. Finalmente, lês a mesma tabela de um caderno do Spark. Em conjunto, estes passos mostram o padrão central do OneLake: uma cópia dos dados, múltiplos motores.

OneLake armazena dados tabulares em formato aberto Delta Parquet por cima do Azure Data Lake Storage (ADLS) Gen2. Essa base partilhada permite que diferentes motores Fabric trabalhem com os mesmos dados sem terem de os mover ou formatar para cada experiência. Ferramentas e serviços que suportam ADLS Gen2, como Azure Databricks, Azure Synapse Analytics e aplicações personalizadas, também podem aceder aos mesmos dados de fora do Fabric.

Pré-requisitos

Consulta a tabela usando o endpoint de análise SQL

Cada lakehouse recebe automaticamente um endpoint de análise SQL. O endpoint lê diretamente das tabelas Delta no OneLake, por isso podes executar consultas T-SQL nos teus dados do Lakehouse sem os copiar para um armazenamento SQL separado.

  1. No portal Fabric, abra o espaço de trabalho que contém a sua casa do lago e selecione a casa do lago.

  2. No canto superior direito do lakehouse, selecione Analisar dados com>ponto final de análise SQL a partir do menu pendente para mudar para o ponto final de análise SQL do mesmo item.

    Uma captura de ecrã do portal Fabric que mostra a mudança para o endpoint de análise SQL.

  3. No menu do ponto final de análise SQL, selecione Nova consulta SQL.

  4. No editor de consultas, execute a seguinte consulta contra a dim_products tabela:

    Esta consulta agrupa por categoria e subcategoria para mostrar o número de produtos e o preço médio.

    SELECT
       category,
       subcategory,
       COUNT(*) AS products,
       ROUND(AVG(standard_price), 2) AS avg_price
    FROM (
       SELECT
          product_id,
          category,
          subcategory,
          standard_price,
          ROW_NUMBER() OVER (
             PARTITION BY product_id
             ORDER BY from_date DESC
          ) AS rn
       FROM dbo.dim_products
    ) latest
    WHERE rn = 1
    GROUP BY category, subcategory
    ORDER BY avg_price DESC;
    
  5. Revise os resultados no painel de saída da consulta.

    Uma captura de ecrã do portal Fabric que mostra a saída de uma consulta SQL.

Consultavas a tabela sem a mover ou duplicar. O endpoint de análise SQL lia os mesmos ficheiros Delta no OneLake que o lakehouse usa.

Construir um relatório Power BI em modo Direct Lake

Direct Lake é um modo de armazenamento Power BI que lê tabelas Delta do OneLake, pelo que um modelo semântico pode fornecer relatórios sem importar ou duplicar os dados. O Direct Lake tem dois modos em que ambos leem dados do OneLake: Direct Lake no OneLake e Direct Lake no SQL. Diferem na forma como o modelo semântico descobre tabelas e aplica permissões. Como este quickstart começa a partir do endpoint de análise SQL, o fluxo cria um Direct Lake sobre um modelo semântico SQL .

Nesta secção, constróis um modelo semântico e um relatório simples sobre a mesma dim_products tabela.

A visualização do relatório mostra o preço médio do produto por category, com cada barra dividida por subcategory.

  1. No menu endpoint de análise SQL, selecione Novo modelo semântico.

    Uma captura de ecrã do portal Fabric que mostra a criação de um modelo semântico a partir do endpoint de análise SQL.

  2. Introduza um nome para o modelo semântico, como dim_products_model. Seleciona a dim_products tabela e depois seleciona Confirmar.

  3. No menu semântico do modelo, selecione Novo relatório.

    Uma captura de ecrã do portal Fabric que mostra a criação de um relatório a partir do modelo semântico.

  4. Na experiência de criação de relatórios, expanda a tabela dim_products no painel Dados.

  5. No painel de Visualizações , selecione Quadro de colunas empilhado.

    Uma captura de ecrã do portal Fabric que mostra a seleção do visual de gráfico de colunas empilhadas.

  6. Arrasta category para o eixo X.

  7. Arraste standard_price para o eixo Y, depois define a agregação para Média.

  8. Arraste subcategory para a Legenda para dividir cada categoria em subcategorias.

    Uma captura de ecrã do portal Fabric que mostra os resultados dos passos de construção do relatório.

  9. Na fita, selecione Guardar Ficheiro> e guarde o relatório no seu espaço de trabalho.

O relatório lê os dados da mesma tabela Delta no OneLake que acabaste de consultar com T-SQL. Não criaste uma segunda cópia dos dados para alimentar o relatório.

Ler a mesma tabela num notebook do Spark

Os notebooks do Fabric oferecem-lhe um terceiro motor sobre os mesmos dados. O Spark lê a dim_products tabela Delta diretamente do OneLake, sem passar pelo endpoint de análise SQL ou pelo modelo semântico. Este passo mostra que um motor com uma pilha de consultas completamente diferente funciona a partir dos mesmos ficheiros subjacentes.

  1. Volte ao lakehouse que contém dim_products.

  2. No menu do lakehouse, selecione Analisar dados com>Notebook>Novo notebook. O caderno começa com a tua casa no lago já associada como a casa padrão do lago.

  3. Na primeira célula de código, cole o seguinte código PySpark:

    Este código utiliza from_date como dimensão temporal e resume o número de produtos e o preço médio por período e categoria.

    from pyspark.sql import functions as F
    
    df = spark.read.table("dim_products")
    
    summary = (
       df.groupBy("from_date", "category")
       .agg(
          F.count("*").alias("products"),
          F.round(F.avg("standard_price"), 2).alias("avg_price"),
       )
       .orderBy(F.col("from_date"), F.col("avg_price").desc())
    )
    
    display(summary)
    
  4. Selecione Executar célula (ou pressione Shift+Enter) para executar a célula. O resultado mostra como os preços médios diferem por categoria ao longo das datas de efetividade.

    Uma captura de ecrã do portal Fabric que mostra os resultados do código do caderno.

A Spark lê diretamente os ficheiros Delta no OneLake. Nenhum dado é copiado para um armazenamento específico do Spark, e a tabela que consultaste é a mesma que apoia o teu modelo semântico. Agora tem uma cópia dos dados no OneLake que três motores — o endpoint de análise SQL, Power BI Direct Lake e Spark — usam através de armazenamento aberto e de um formato de tabela aberta, sem mover ou reformatar os dados.

Limpeza de recursos

Se não planeia continuar a usar o modelo semântico, o relatório e o caderno, elimine-os do seu espaço de trabalho:

  1. No seu espaço de trabalho, passe o rato sobre o modelo semântico que criou e selecione o menu de mais opções (...), depois selecione Eliminar.
  2. Repita o processo para o relatório e o bloco de notas no seu espaço de trabalho.

Eliminar o relatório, o modelo semântico ou o bloco de notas não afeta o lakehouse e a tabela subjacentes dim_products.