Euphoria is an open source Java API for creating unified big-data processing flows. It provides an engine independent programming model which can express both batch and stream transformations.
Unified business logic
Euphoria prevents the programmer from distinguishing between batch and stream processing. Programs can be written once and applied to both processing modes without the need to maintain to distinct versions of the business logic.
Euphoria deliberately does not expose technology specific items such that resulting programs can be executed on various engines, e.g. Apache Flink or Apache Spark.
Euphoria provides an API based on Java8 leveraging Lambda expression to keep the typically required boilerplate to a minimum. The resulting code is usually easy-to-read and, thus, easier to understand.