(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

Como criar uma External Table em Warehouse do Microsoft Fabric: passo a passo

João Barros 06 de September de 2026 4 min de leitura

Este tutorial mostra como criar uma External Table num Warehouse do Microsoft Fabric para consultar dados armazenados num Lakehouse sem copiar os ficheiros. Criar uma External Table é útil para manter os dados centralizados em OneLake/Lakehouse e ter acesso T-SQL rápido a partir de um Warehouse.

Pré-requisitos

  • Conta com acesso a um workspace no Microsoft Fabric e permissões para criar Warehouse e aceder a um Lakehouse.
  • Um Lakehouse com uma tabela ou ficheiro (por exemplo, parquet) já carregado.
  • Conhecimentos básicos de T-SQL no contexto do Warehouse do Microsoft Fabric.

Passo 1: Confirmar o path do Lakehouse e o formato dos ficheiros

Precisamos de saber o caminho (shortcuts ou path do OneLake) onde estão os ficheiros ou a tabela no Lakehouse. No Hub do Fabric, abra o Lakehouse, localize a tabela ou ficheiro e copie o path do directório ou o nome da tabela. Confirme também o formato (parquet, csv, delta).

Passo 2: Abrir o Warehouse e criar uma nova query T-SQL

Abra o Warehouse onde pretende criar a External Table. No Warehouse, utilize uma nova query T-SQL para criar a definição da tabela externa. A sintaxe usa CREATE EXTERNAL TABLE com a especificação do LOCATION apontando para o path do Lakehouse (Direct Lake/OneLake). Aqui fica um exemplo mínimo para ficheiros Parquet.

CREATE EXTERNAL TABLE dbo.ExternalSales
(
  OrderID bigint,
  CustomerID varchar(50),
  OrderDate datetime2,
  Amount decimal(18,2)
)
WITH (
  LOCATION = 'OneLake:////Lakehouse//sales/',
  DATA_SOURCE = 'FabricDirectLake',
  FILE_FORMAT = 'Parquet'
);

Notas: DATA_SOURCE pode ser um nome lógico já existente; se não existir, crie-o no passo seguinte. LOCATION deve ser o path correcto para o ficheiro/parquet no Lakehouse.

Passo 3: Criar um EXTERNAL DATA SOURCE (se necessário)

Se o seu Warehouse não tiver um DATA_SOURCE que aponte para OneLake/Direct Lake, crie-o. Isto permite ao Warehouse perceber como aceder ao Lakehouse.

CREATE EXTERNAL DATA SOURCE FabricDirectLake
WITH (
  LOCATION = 'OneLake:///',
  TYPE = HADOOP
);

Substitua <TenantName> pelo seu identificador. TYPE = HADOOP é a opção comum para ligação a OneLake/Direct Lake no contexto do Warehouse.

Passo 4: Criar um FILE FORMAT (se necessário)

Se for necessário definir o formato do ficheiro (por exemplo CSV com separador específico), crie um FILE FORMAT. Para Parquet normalmente não é obrigatório, mas para CSV é importante.

CREATE EXTERNAL FILE FORMAT CsvFormat
WITH (
  FORMAT_TYPE = DELIMITEDTEXT,
  FORMAT_OPTIONS (
    FIELD_TERMINATOR = ',',
    STRING_DELIMITER = '"',
    FIRST_ROW = 1
  )
);

Passo 5: Criar a External Table apontando para uma tabela Delta

Para Delta Lake (comum em Lakehouse), a LOCATION aponta para a pasta Delta. Use FILE_FORMAT = 'Delta' ou ajuste conforme necessário.

CREATE EXTERNAL TABLE dbo.ExternalDeltaOrders
(
  OrderID bigint,
  Status varchar(50),
  ModifiedAt datetime2
)
WITH (
  LOCATION = 'OneLake:////Lakehouse/delta/orders/',
  DATA_SOURCE = 'FabricDirectLake',
  FILE_FORMAT = 'Delta'
);

Passo 6: Testar consultas e lidar com erros comuns

Após criar a External Table execute SELECT simples. Erros comuns: permissões insuficientes (403/401), path incorrecto, ou DATA_SOURCE mal configurado. Para permissões, confirme o papel no Lakehouse e no workspace; para path, verifique capitalização e nome das pastas.

SELECT TOP (100) *
FROM dbo.ExternalSales
ORDER BY OrderDate DESC;

Se receber erro de formato, experimente criar/ajustar o EXTERNAL FILE FORMAT. Se o desempenho for lento, verifique partições no Lakehouse e se o ficheiro está em parquet/Delta.

Verificar o resultado

Confirme que a query retorna linhas e que os tipos de dados estão correctos. Verifique também no painel do Warehouse que a External Table aparece na lista de objectos. Para testes adicionais, compare contagens entre a External Table e a fonte original no Lakehouse:

SELECT COUNT(*) AS CountWarehouse FROM dbo.ExternalSales;
-- comparar com contagem no Lakehouse (por ex., abrir a tabela no Lakehouse UI)

Conclusão

Criar uma External Table num Warehouse do Microsoft Fabric permite consultar dados do Lakehouse sem duplicar, mantendo governação e performance conforme o formato (Parquet/Delta). Próximos passos recomendados: testar partições, criar views T-SQL sobre a External Table e monitorizar custos de egresso. Dica: se encontrar erros de permissão, confirme a integração entre o workspace e o OneLake e as roles do seu utilizador.