Cómo cargar un CSV en un Lakehouse en Microsoft Fabric
Un archivo CSV es una de las formas más habituales de recibir datos, pero para analizarlo en Power BI o consultarlo con SQL primero hay que convertirlo en una tabla. En Microsoft Fabric, un Lakehouse te permite cargar un archivo CSV y convertirlo en una tabla Delta con unos pocos clics, sin escribir una sola línea de código. Es una tarea del día a día de quien trabaja con datos y la puerta de entrada para crear informes fiables. Esta guía recorre todo el proceso, desde la subida del archivo hasta la consulta en SQL.
Requisitos previos
- Una cuenta con acceso a Microsoft Fabric y una capacidad (Fabric o Trial) activa.
- Un workspace en el que tengas permisos de edición.
- Un archivo
.csvcon una fila de encabezado (por ejemplo,vendas.csv).
Paso 1: Crear un Lakehouse
Un Lakehouse es el elemento de Fabric que reúne, en un mismo lugar, archivos en bruto y tablas listas para consultar. En el portal de Fabric, abre tu workspace y haz clic en + New item. En la lista, elige Lakehouse, ponle un nombre (por ejemplo vendas_lh) y confirma. En segundos se abre el explorador, dividido en dos áreas: Tables, para tablas Delta, y Files, para archivos en bruto.
Si ya tienes un Lakehouse, ábrelo desde el workspace y pasa al Paso 2.
Paso 2: Subir el CSV al área Files
En el área Files, sitúa el ratón sobre la carpeta, haz clic en los tres puntos (...) y elige Upload → Upload files. Selecciona tu vendas.csv y confirma. El archivo se guarda en OneLake, el almacenamiento unificado de Fabric, tal como lo subiste; fíjate en que todavía no es una tabla, es solo un archivo.
Una buena práctica es crear primero una carpeta raw y subir ahí los archivos de origen. Así mantienes la zona de staging ordenada y separada de las tablas finales.
Paso 3: Convertir el CSV en una tabla Delta
Este es el paso más importante. Haz clic con el botón derecho en el archivo vendas.csv (o usa los tres puntos) y elige Load to Tables → New table. Confirma el nombre de la tabla —Fabric sugiere un nombre válido, sin espacios ni caracteres especiales— y haz clic en Load.
Entre bastidores, Fabric lee el CSV, infiere el tipo de cada columna a partir del contenido y escribe una tabla Delta optimizada con V-Order en el área Tables. A diferencia de un CSV, una tabla Delta admite transacciones, versionado y lecturas rápidas, por lo que es el formato recomendado en el Lakehouse. La tabla queda disponible de inmediato para consultas SQL y para Power BI.
Nota: este flujo por la interfaz no permite definir manualmente los nombres ni los tipos de las columnas. Cuando necesites ese control, usa un notebook, como se muestra a continuación.
Paso 4 (opcional): Cargar con un notebook
Si quieres controlar el esquema o aplicar transformaciones antes de guardar, un notebook en PySpark te da esa libertad. Crea un notebook, asócialo al Lakehouse y ejecuta:
df = (spark.read
.option("header", "true")
.option("inferSchema", "true")
.csv("Files/raw/vendas.csv"))
df.write.format("delta").mode("overwrite").saveAsTable("vendas")
La ruta Files/raw/vendas.csv es relativa al Lakehouse asociado al notebook. El resultado equivale al del Paso 3: una tabla Delta llamada vendas, pero ahora con el esquema bajo tu control.
Verificar el resultado
En el área Tables del Lakehouse debería aparecer la tabla vendas. Haz clic en ella para ver una vista previa de las primeras filas. Para confirmar que es realmente consultable, cambia al SQL analytics endpoint (en la esquina superior derecha del Lakehouse) y ejecuta:
SELECT TOP 10 * FROM vendas;
Si ves tus filas con los encabezados correctos, el CSV está oficialmente cargado como tabla Delta y listo para usar en informes.
Conclusión
En unos pocos minutos y sin gestionar ninguna infraestructura, has convertido un simple archivo CSV en una tabla Delta consultable en Microsoft Fabric. El siguiente paso natural es crear un modelo semántico y un informe en Power BI sobre esta tabla, o automatizar la carga con un pipeline para los archivos que llegan cada día. ¿Cuál será el primer conjunto de datos que cargarás en tu Lakehouse?