Como usar SQL em um lakehouse no fabric
- 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


