Dear Community, The Apache Apex community is pleased to announce release 3.5.0 of the Malhar library.
The release resolved 63 JIRAs and comes with exciting new features and enhancements, including: - High level Java stream API now supports stateful transformations with Apache Beam style windowing semantics. The demo package ( https://github.com/apache/apex-malhar/tree/v3.5.0/demos/highlevelapi) has examples for usage of the API and an earlier presentation is at http://www.slideshare.net/ApacheApex/java-high-level-stream-api - Improvements to underlying state management components for windowing, ease of use in custom operators and incremental state saving. Work is underway to take this further in the next release, along with benchmarking for key cardinality and throughput. - Deduper solves a frequent task in processing stream data, to decide whether a given record is a duplicate or not. The documentation explains this in detail: http://apex.apache.org/docs/malhar/operators/deduper - JDBC poll operator, another operator frequently required in Apex use cases. The operator can function as bounded or unbounded source, is idempotent for exactly-once processing and partitionable. An example can be found at https://github.com/DT-Priyanka/examples/tree/SPOI- 8548-jdbc-poller-example/tutorials/jdbcIngest - Enricher that essentially joins a stream with a lookup source can can operate on any POJO object. The user can solve this through configuration and does not need to write code for the operator. See documentation and the example linked from there: http://apex.apache.org/docs/ malhar/operators/enricher/ There are more features, enhancements and fixes is this release, see https://s.apache.org/5vQi for full changes. Apache Apex is an enterprise grade native YARN big data-in-motion platform that unifies stream and batch processing. Apex was built for scalability and low-latency processing, high availability and operability. Apex provides features that similar platforms currently don’t offer, such as fine grained, incremental recovery to only reset the portion of a topology that is affected by a failure, support for elastic scaling based on the ability to acquire (and release) resources as needed as well as the ability to alter topology and operator properties on running applications. Apex has been developed since 2012 and became ASF top level project earlier this year, following 8 months of incubation. Apex early on brought the combination of high throughput, low latency and fault tolerance with strong processing guarantees to the stream data processing space and gained maturity through important production use cases at several organizations. See the powered by page and resources on the project web site for more information: http://apex.apache.org/powered-by-apex.html http://apex.apache.org/docs.html The Apex engine is supplemented by Malhar, the library of pre-built operators, including adapters that integrate with many existing technologies as sources and destinations, like message buses, databases, files or social media feeds. An easy way to get started with Apex is to pick one of the examples as starting point. They cover many common and recurring tasks, such as data consumption from different sources, output to various sinks, partitioning and fault tolerance: https://github.com/DataTorrent/examples/tree/master/tutorials Apex Malhar and Core (the engine) are separate repositories and releases. We expect more frequent releases of Malhar to roll out new connectors and other operators based on a stable engine API. This release 3.5.0 works on existing Apex Core 3.4.0. Users only need to upgrade the Maven dependency in their project. The source release can be found at: http://www.apache.org/dyn/closer.lua/apex/apache-apex-malhar-3.5.0/ or visit: http://apex.apache.org/downloads.html We welcome your help and feedback. For more information on the project and how to get involved, visit our website at: http://apex.apache.org/ Regards, The Apache Apex community