Configuración de Windows 11 para Data Engineering
Históricamente, Windows no era un buen SO para programación de datos. Hoy, gracias a WSL2 (Windows Subsystem for Linux), puedes tener la mejor experiencia de Linux integrada perfectamente con Windows.
Por qué WSL2 lo cambia todo
La mayoría de herramientas de Data Engineering (Spark, Airflow, Hadoop, dbt) están diseñadas para sistemas basados en Unix/Linux. Intentar instalarlas de forma nativa en Windows causa muchos errores y comportamientos extraños.
WSL2 corre un kernel real de Linux dentro de Windows de manera ultra-rápida. Tus archivos en Linux pueden ser editados en Windows (usando VS Code) y puedes usar Docker sin la máquina virtual pesada del pasado.
1. Instalar WSL2 y Ubuntu
Abre PowerShell como Administrador y ejecuta:
wsl --install
Reinicia tu PC. Al volver, Ubuntu se terminará de instalar. Te pedirá crear un usuario y contraseña de Linux (no tiene que ser el de Windows, pero anótala porque es tu clave sudo).
Configuración inicial de Ubuntu
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential curl wget git unzip -y
2. Docker Desktop con integración WSL2
Docker es vital para levantar bases de datos de prueba o contenedores de Airflow.
- Descarga e instala Docker Desktop para Windows.
- Al iniciar, ve a Settings (engranaje) > General > Marca "Use the WSL 2 based engine".
- Ve a Settings > Resources > WSL Integration > Habilita tu distribución de Ubuntu.
Abre tu terminal de Ubuntu y escribe docker run hello-world. Si funciona sin sudo, ¡estás listo!
3. VS Code y WSL
VS Code tiene una extensión mágica que permite correr el editor en Windows, pero ejecutar el código en el entorno de Ubuntu.
- Instala VS Code en Windows.
- Instala la extensión "WSL" de Microsoft.
- Abre tu terminal de Ubuntu, navega o crea un directorio (ej.
mkdir proyectos && cd proyectos) y ejecutacode . - La primera vez descargará el "VS Code Server" para Linux.
4. Configurar Python y Entornos Virtuales
En el mundo de los datos, manejar versiones de Python es un dolor de cabeza. Recomendamos usar pyenv o uv.
# Instalar uv (gestor ultrarápido de Python escrito en Rust)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Crear un entorno virtual para un proyecto
cd mi_proyecto
uv venv
# Activar el entorno virtual
source .venv/bin/activate
# Instalar dependencias a la velocidad de la luz
uv pip install pandas pyarrow duckdb
Para mejor rendimiento, guarda el código de tus proyectos dentro del sistema de archivos de Linux (ej. /home/tu_usuario/proyectos), no en el de Windows (ej. /mnt/c/Users/...). El acceso entre ambos sistemas de archivos es lento.