# OryxProject/oryx

Oryx 2: Lambda architecture on Apache Spark, Apache Kafka for real-time large scale machine learning

Repository: https://github.com/OryxProject/oryx
Canonical: https://ross.abutalabs.com/products/oryxproject-oryx
Homepage: http://oryx.io
Language: Java
License: Apache-2.0
License Family: permissive
Topics: lambda-architecture, oryx, apache-spark, machine-learning, kafka, apache-kafka, java, cloudera
Archived: true
Last push: 2021-08-16T11:16:27+00:00

## Health v2 (maintenance only)
Score: 10/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 4422, "days_push": 1843, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: archived
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1782, forks 400 (observed 2026-08-28T04:05:35.717977+00:00)

## What it is
Oryx 2 is a Java framework implementing the lambda architecture on Apache Spark and Apache Kafka, specialized for real-time large-scale machine learning. It ships with end-to-end packaged applications for collaborative filtering (ALS), classification, regression, and clustering, plus batch, speed, and serving layers that can be reused independently.

## Use cases
- build a real-time recommendation system with ALS on Spark
- serve continuously updated ML models over a REST API
- process streaming data with Kafka and update models incrementally
- run batch and speed layers for large-scale machine learning
- deploy collaborative filtering, classification, or clustering as ready-made apps
- build a custom lambda architecture ML application in Java

## When to choose
- you need real-time model updates on large-scale streaming data
- you already run a Hadoop/Spark/Kafka cluster
- you want packaged recommendation, classification, or clustering pipelines
- you want a reusable lambda architecture framework in the JVM ecosystem

## When to avoid
- you need a lightweight single-node ML setup without Hadoop/Kafka
- you want modern actively maintained tooling (last release 2021)
- you prefer Python-based ML stacks like Spark MLlib pipelines or cloud ML services
- your use case is simple batch training without streaming updates

## Facets
- artifact type: framework
- maturity: maintenance
- function: machine-learning, streaming, message-queue, api-framework, data-science
- domain: machine-learning, big-data, microservices
- platform: jvm, cloud
- tags: lambda-architecture, apache-spark, apache-kafka, collaborative-filtering, real-time-ml, hadoop, als, k-means, random-forests, data-engineering, recommendation, linux, docker

## Member repositories
- OryxProject/oryx (main) score 10

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:35.717977+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:24:20.757054+00:00, confidence not recorded.
  - readme: https://github.com/OryxProject/oryx (fetched 2026-08-28T04:05:35.717977+00:00, sha bc3132febecc)
  - homepage: http://oryx.io (fetched 2026-08-29T11:02:58.111417+00:00, sha c69d1efa0a00)
  - site_page: http://oryx.io/docs/endusers.html (fetched 2026-08-29T11:02:58.114677+00:00, sha 43d6fae6542a)
  - site_page: http://oryx.io/docs/developer.html (fetched 2026-08-29T11:02:58.117329+00:00, sha e611ae5d3a86)
  - site_page: http://oryx.io/docs/admin.html (fetched 2026-08-29T11:02:58.119368+00:00, sha 66ba959936e1)
  - site_page: http://oryx.io/docs/performance.html (fetched 2026-08-29T11:02:58.121410+00:00, sha 61cd81b80299)
  - site_page: http://oryx.io/apidocs/index.html (fetched 2026-08-29T11:02:58.123230+00:00, sha 26b4d2a5352e)
- Data as of 2026-08-30T08:39:29.467469+00:00.
