Repolode
Netflix

Netflix/maestro

El orquestador de flujos de trabajo de propósito general de Netflix, ofrecido como servicio para programar y ejecutar pipelines de datos y ML.

Alternativa open source a:Apache Airflow

Estrellas
3,852
Forks
311
Issues abiertos
39
Último commit
ayer

¿Qué es?

Maestro es un orquestador de flujos de trabajo desarrollado originalmente en Netflix para ejecutar pipelines de datos y machine learning. Los usuarios definen los flujos como grafos dirigidos acíclicos (DAG) de trabajos y luego los programan, inician y supervisan mediante una API de servidor. El proyecto está escrito en Java y se ejecuta con Spring Boot.

El servidor ofrece una API REST versionada para crear flujos de trabajo, iniciar ejecuciones y consultar instancias y ejecuciones de pasos. Los flujos se pueden enviar en YAML o JSON, y un SDK de Python (maestro-sdk) incluye un builder para definirlos mediante código. Las instrucciones de configuración incluyen un ejemplo del flujo de compilación, ejecución y activación.

El repositorio incluye un módulo de AWS que se ejecuta localmente con LocalStack para SQS y SNS, además de una opción de Kubernetes para ejecutar trabajos. Un servicio opcional, maestro-extensions, consume eventos del servidor para ofrecer vistas como la de los pasos foreach aplanados.

Funciones clave

  • 01Define flujos de trabajo como DAG de trabajos, enviados en YAML o JSON.
  • 02Ofrece una API REST versionada para crear, iniciar e inspeccionar flujos de trabajo y ejecuciones.
  • 03Incluye un SDK de Python para crear y enviar flujos de trabajo.
  • 04Admite la integración con AWS mediante el manejo de eventos de SQS y SNS.
  • 05Puede ejecutar trabajos en Kubernetes.
  • 06Ofrece un servicio de extensiones con vistas aplanadas de foreach.

Casos de uso

  • Programar pipelines ETL o ELT recurrentes de ingeniería de datos.
  • Orquestar flujos de trabajo de entrenamiento de machine learning y scoring por lotes.
  • Ejecutar grandes cantidades de trabajos de datos mediante un servicio de flujos de trabajo gestionado y controlado por API.
  • Evaluar un motor de flujos de trabajo al estilo de Netflix para una plataforma de datos interna.

Inicio rápido

  1. 1

    Instala los requisitos previos: Git, Java 21, Gradle y Docker

  2. 2

    Compila el proyecto

    ./gradlew build
  3. 3

    Ejecuta el servidor

    ./gradlew bootRun
  4. 4

    Crea un flujo de trabajo de ejemplo mediante la API

    curl --header "user: tester" -X POST 'http://127.0.0.1:8080/api/v3/workflows' -H "Content-Type: application/json" -d @maestro-server/src/test/resources/samples/sample-dag-test-1.json

Antes de usarlo

  • Se necesitan Java 21, Gradle y Docker para compilar y ejecutar el proyecto.
  • Está diseñado como una plataforma interna a gran escala; alojarlo por cuenta propia requiere trabajo de configuración.
  • Algunas funciones, como el modo AWS, requieren Docker Compose y LocalStack para las pruebas locales.

Temas

Preguntas frecuentes

¿Qué es maestro?
El orquestador de flujos de trabajo de propósito general de Netflix, ofrecido como servicio para programar y ejecutar pipelines de datos y ML. Maestro es un orquestador de flujos de trabajo desarrollado originalmente en Netflix para ejecutar pipelines de datos y machine learning. Los usuarios definen los flujos como grafos dirigidos acíclicos (DAG) de trabajos y luego los programan, inician y supervisan mediante una API de servidor. El proyecto está escrito en Java y se ejecuta con Spring Boot.
¿maestro es gratuito? ¿Qué licencia tiene?
maestro es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿maestro sigue mantenido?
Mantenimiento activo. El último commit de maestro fue el 6 nov 2026.
¿Para qué puedo usar maestro?
Programar pipelines ETL o ELT recurrentes de ingeniería de datos. Orquestar flujos de trabajo de entrenamiento de machine learning y scoring por lotes. Ejecutar grandes cantidades de trabajos de datos mediante un servicio de flujos de trabajo gestionado y controlado por API. Evaluar un motor de flujos de trabajo al estilo de Netflix para una plataforma de datos interna.
¿Cómo se instala maestro?
Instala los requisitos previos: Git, Java 21, Gradle y Docker Compila el proyecto: ./gradlew build Ejecuta el servidor: ./gradlew bootRun Crea un flujo de trabajo de ejemplo mediante la API: curl --header "user: tester" -X POST 'http://127.0.0.1:8080/api/v3/workflows' -H "Content-Type: application/json" -d @maestro-server/src/test/resources/samples/sample-dag-test-1.json
¿Dónde consigo maestro?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/Netflix/maestro

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados