Cómo crear una External Table en Warehouse de Microsoft Fabric: paso a paso
Este tutorial muestra cómo crear una External Table en un Warehouse de Microsoft Fabric para consultar datos almacenados en un Lakehouse sin copiar los archivos. Crear una External Table es útil para mantener los datos centralizados en OneLake/Lakehouse y tener acceso T-SQL rápido desde un Warehouse.
Requisitos previos
- Cuenta con acceso a un workspace en Microsoft Fabric y permisos para crear Warehouse y acceder a un Lakehouse.
- Un Lakehouse con una tabla o archivo (por ejemplo, parquet) ya cargado.
- Conocimientos básicos de T-SQL en el contexto del Warehouse de Microsoft Fabric.
Paso 1: Confirmar el path del Lakehouse y el formato de los archivos
Necesitamos saber la ruta (shortcuts o path de OneLake) donde están los archivos o la tabla en el Lakehouse. En el Hub de Fabric, abra el Lakehouse, localice la tabla o archivo y copie el path del directorio o el nombre de la tabla. Confirme también el formato (parquet, csv, delta).
Paso 2: Abrir el Warehouse y crear una nueva query T-SQL
Abra el Warehouse donde pretende crear la External Table. En el Warehouse, utilice una nueva query T-SQL para crear la definición de la tabla externa. La sintaxis usa CREATE EXTERNAL TABLE con la especificación de LOCATION apuntando al path del Lakehouse (Direct Lake/OneLake). Aquí tiene un ejemplo mínimo para archivos 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 puede ser un nombre lógico ya existente; si no existe, créelo en el paso siguiente. LOCATION debe ser el path correcto para el archivo/parquet en el Lakehouse.
Paso 3: Crear un EXTERNAL DATA SOURCE (si es necesario)
Si su Warehouse no tiene un DATA_SOURCE que apunte a OneLake/Direct Lake, créelo. Esto permite al Warehouse saber cómo acceder al Lakehouse.
CREATE EXTERNAL DATA SOURCE FabricDirectLake
WITH (
LOCATION = 'OneLake:///',
TYPE = HADOOP
);
Reemplace <TenantName> por su identificador. TYPE = HADOOP es la opción común para la conexión a OneLake/Direct Lake en el contexto del Warehouse.
Paso 4: Crear un FILE FORMAT (si es necesario)
Si es necesario definir el formato del archivo (por ejemplo CSV con separador específico), cree un FILE FORMAT. Para Parquet normalmente no es obligatorio, pero para CSV es importante.
CREATE EXTERNAL FILE FORMAT CsvFormat
WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (
FIELD_TERMINATOR = ',',
STRING_DELIMITER = '"',
FIRST_ROW = 1
)
);
Paso 5: Crear la External Table apuntando a una tabla Delta
Para Delta Lake (común en Lakehouse), la LOCATION apunta a la carpeta Delta. Use FILE_FORMAT = 'Delta' o ajústelo según sea necesario.
CREATE EXTERNAL TABLE dbo.ExternalDeltaOrders
(
OrderID bigint,
Status varchar(50),
ModifiedAt datetime2
)
WITH (
LOCATION = 'OneLake:////Lakehouse/delta/orders/',
DATA_SOURCE = 'FabricDirectLake',
FILE_FORMAT = 'Delta'
);
Paso 6: Probar consultas y tratar errores comunes
Tras crear la External Table ejecute SELECT simples. Errores comunes: permisos insuficientes (403/401), path incorrecto, o DATA_SOURCE mal configurado. Para permisos, confirme el rol en el Lakehouse y en el workspace; para el path, verifique mayúsculas/minúsculas y el nombre de las carpetas.
SELECT TOP (100) *
FROM dbo.ExternalSales
ORDER BY OrderDate DESC;
Si recibe error de formato, pruebe a crear/ajustar el EXTERNAL FILE FORMAT. Si el rendimiento es lento, verifique particiones en el Lakehouse y si el archivo está en parquet/Delta.
Verificar el resultado
Confirme que la query devuelve filas y que los tipos de datos son correctos. Verifique también en el panel del Warehouse que la External Table aparece en la lista de objetos. Para pruebas adicionales, compare conteos entre la External Table y la fuente original en el Lakehouse:
SELECT COUNT(*) AS CountWarehouse FROM dbo.ExternalSales;
-- comparar con el conteo en el Lakehouse (p. ej., abrir la tabla en la UI del Lakehouse)
Conclusión
Crear una External Table en un Warehouse de Microsoft Fabric permite consultar datos del Lakehouse sin duplicar, manteniendo gobernanza y rendimiento según el formato (Parquet/Delta). Próximos pasos recomendados: probar particiones, crear views T-SQL sobre la External Table y monitorizar costes de egreso. Consejo: si encuentra errores de permisos, confirme la integración entre el workspace y el OneLake y los roles de su usuario.