genie logo

genie

Enrichment pending
Netflix/genie

Distributed Big Data Orchestration Service

GraphCanon updated today · GitHub synced today

1.8k stars374 forksLast push 1d Java Apache-2.0

Verify the decision

Maintenance and security

Full trust report
Maintenance
Very active (1d since push)
As of today
Provenance
Not a fork · Organization account
As of today
Security (OSV)
No lockfile
As of today

Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.

Install

git clone https://github.com/Netflix/genie

Similar tools

Same-category neighbours. No typed graph edges are catalogued for this tool yet.

Evidence and technical details

Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.

Overview

Distributed Big Data Orchestration Service

Capability facts

Languages
java

Source: github.language · Jul 15, 2026

Categories

Tags

README

Genie

Introduction

Genie is a federated Big Data orchestration and execution engine developed by Netflix.

Genie’s value is best described in terms of the problem it solves.

Big Data infrastructure is complex and ever-evolving.

Data consumers (Data Scientists or other applications) need to jump over a lot of hurdles in order to run a simple query:

  • Find, download, install and configure a number of binaries, libraries and tools
  • Point to the correct cluster, using valid configuration and reasonable parameters, some of which are very obscure
  • Manually monitor the query, retrieve its output

What works today, may not work tomorrow. The cluster may have moved, the binaries may no longer be compatible, etc.

Multiply this overhead times the number of data consumers, and it adds up to a lot of wasted time (and grief!).

Data infrastructure providers face a different set of problems:

  • Users require a lot of help configuring their working setup, which is not easy to debug remotely
  • Infrastructure upgrades and expansion require careful coordination with all users

Genie is designed to sit at the boundary of these two worlds, and simplify the lives of people on either side.

A data scientist can “rub the magic lamp” and just say “Genie, run query ‘Q’ using engine SparkSQL against production data”. Genie takes care of all the nitty-gritty details. It dynamically assembles the necessary binaries and configurations, execute the job, monitors it, notifies the user of its completion, and makes the output data available for immediate and future use.

Providers of Big data infrastructure work with Genie by making resources available for use (clusters, binaries, etc) and plugging in the magic logic that the user doesn’t need to worry about: which cluster should a given query be routed to? Which version of spark should a given query be executed with? Is this user allowed to access this data? etc. Moreover, every job’s details are recorded for later audit or debugging.

Genie is designed from the ground up to be very flexible and customizable. For more details visit the official documentation

Builds

Genie builds are run on Travis CI here.

BranchBuildCoverage (coveralls.io)
master (4.2.x)
4.1.x
4.0.x

Project structure

genie-app

Self-contained Genie service server.

genie-agent-app

Self-contained Genie CLI job executor.

genie-client

Genie client interact with the service via REST API.

genie-web

The main server library, can be re-wrapped to inject and override server components.

genie-agent

The main agent library, can be re-wrapped to inject and override components.

genie-common, genie-common-internal, genie-common-external

Internal components libraries shared by the server, agent, and client modules.

genie-proto

Protobuf messages and gRPC services definition shared by server and agent. This is not a public API meant for use by other clients.

genie-docs, genie-demo

Documentation and demo application.

genie-test, genie-test-web

Testing classes and utilities shared by other modules.

genie-ui

JavaScript UI to search and visualize jobs, clusters, commands.

genie-swagger

Auto-configuration of Swagger via Spring Fox. Add

For agents

This page has a .md twin and JSON over the API.

Was this helpful?

Anonymous feedback helps us improve pages and translations.