top of page

Como usar SQL em um lakehouse no fabric

  • Foto do escritor: Amanda Nascimento
    Amanda Nascimento
  • há 1 dia
  • 2 min de leitura

Para usar SQL ou usamos um notebook (caderno) pelo Lakehouse

ou abrimos pelo SQL Endpoint (item separado conforme imagem abaixo):







O SQL Endpoint (Ponto de extremidade SQL) é a camada que permite consultar os dados do Lakehouse usando SQL, funcionando como um “banco de dados virtual” sobre o Lakehouse.

Quando um Lakehouse possui SQL habilitado, o Fabric cria automaticamente o lakehouse

e o SQL Endpoint (com ícone de banco).  


SQL Endpoint NÃO lê arquivos em Files diretamente, ele só enxerga Tables (tabelas registradas)

Arquivos Parquet não são reconhecidos como tabelas pelo Spark SQL.


Para transformar o parquet em tabela para poder usar sql, rode no notebook:


Para consultar dados via SQL, é necessário registrar o arquivo como tabela: df = spark.read.parquet("/lakehouse/default/Files/insiraonomeaqui")

df.write \

    .mode("overwrite") \

    .option("overwriteSchema", "true") \

    .saveAsTable("dbo.insiraonomeaqui")




Outra opção ao inés de usar o sqp endpoint, seria dentro do lakehouse, adicionar um notebook e usar o spark sql


display(spark.sql("""

SELECT *

FROM nomeschema.nometabela

"""))


O Spark SQL é a forma de executar consultas SQL dentro de um notebook no Microsoft Fabric, você usa SQL, mas quem executa é o motor Spark, não o SQL Endpoint


  • spark.sql() executa o SQL

  • display() mostra o resultado



Ler arquivos parquet antes de transformar em tabela para o sql


Opção 1:


display(

    spark.read.parquet("/lakehouse/default/Files/nomearquivo")

)


Opção 2 (não cria tabela permanente):


display(

spark.read.parquet("/lakehouse/default/Files/nomearquivo")

)



display(spark.sql("""

SELECT *

FROM vw_nomeview

"""))




em resumo:


             FILES (Parquet / Delta)


        ───────────────────────────────


        📁 /Files/nome_arquivo


        ❌ Não suporta SQL direto


                     │


                     │


                     ▼


     🟣 TEMP VIEW (Spark SQL - Notebook)


     ───────────────────────────────────


     df.createOrReplaceTempView("vw_nomeView")


     ✔ Permite SELECT

     ✔ Não persiste


                     │


                     │


                     ▼


     🟣 TABLE (Lakehouse - Tables)


     ─────────────────────────────


     saveAsTable("dbo.nometabela")


     ✔ Persistida

     ✔ Governança

     ✔ Performance


                     │


                     │


                     ▼


     🟣 SQL ENDPOINT


     ─────────────────


     SELECT * FROM dbo.nometabela


     ✔ SQL puro

     ✔ BI / análise

© 2017-2026  Criado e desenvolvido por Amanda Nascimento

  • Discord
  • GitHub
  • youtube
  • LinkedIn Amanda
bottom of page