Repositorio para la ingestión automatizada de datasets obtenidos mediante un API hacia Azure Data Lake Storage Gen2, utilizando scripts en Python ejecutados a través de GitHub Actions. Incluyendo la automatización vía Azure Function y notebooks de Databricks para transformación.
Este proyecto permite descargar datasets de Kaggle, procesarlos (incluyendo conversión a CSV cuando es necesario) y cargarlos automáticamente en contenedores de Azure Data Lake Storage (ADLS Gen2). La autenticación y parámetros se gestionan de manera segura mediante Azure Key Vault y Managed Identity.
Incluye:
- Notebooks para ingestión, montaje de almacenamiento y análisis exploratorio en Databricks.
- Script Python y Azure Function para automatizar la descarga, procesamiento y subida de archivos a ADLS.
- Ejemplo de integración con Azure Data Factory.
FunctionApp/: Azure Function para ingestión desde Kaggle a ADLS.kaggle-ingester/: Script Python CLI para ingestión programática.Notebooks/: Notebooks para Databricks (incluye ejemplos de uso y configuración).AzureDataFactory/: Pipeline de Azure Data Factory.
-
Clona el repositorio:
git clone https://github.com/gquintal/data-ingester.git cd data-ingester -
Instala los requisitos en tu entorno:
pip install -r requirements.txt # O instala manualmente: kaggle, azure-identity, azure-storage-blob, azure-keyvault-secrets, pandas, etc. -
Configura las variables de entorno requeridas:
KEY_VAULT_URIKAGGLE_DATASETDATALAKE_URICONTAINER_NAME
- Despliega la función incluida en
FunctionApp/en tu Azure Subscription. - Realiza una petición HTTP al endpoint
/api/kaggleingestcon las variables de entorno configuradas. - El dataset será descargado, procesado y subido al contenedor ADLS configurado.
- Abre
Notebooks/kaggle-ingester.ipynben tu entorno Databricks. - Sigue las instrucciones para instalar la librería kaggle, configurar secretos y ejecutar la ingestión.
- Se monta el contenedor ADLS y se procesan los datos automáticamente para análisis.
- Ejecuta
kaggle-ingester/kaggle-ingester.pycon los argumentos necesarios para dataset, almacenamiento y Key Vault.
- Se autentica contra Azure Key Vault y recupera las credenciales de Kaggle y ADLS.
- Descarga y descomprime el dataset de Kaggle.
- Convierte los archivos a CSV si es necesario.
- Sube los archivos procesados al contenedor de Azure Data Lake Storage.
- Deja un marcador de éxito (_SUCCESS.txt) tras la carga.
- Requiere permisos para acceder a Key Vault y ADLS.
- El notebook de montaje (
Mount Storage.ipynb) contiene ejemplos para montar el contenedor en Databricks usando OAuth.
Las contribuciones son bienvenidas. Abre un issue o pull request para sugerencias o mejoras.
See the LICENSE file for details.

