StreamNative Platform integrates with the most popular data processing engines to build a unified data processing stack. To process event streams in Pulsar, You can choose one of the following supported processing engines to process event streams.
|Engine||Use case||Recommended usage|
|Apache Flink||For real-time stream processing||Apache Fink is a next-generation stream processing system at scale.
It provides almost every important mechanism for building a modern sophisticated streaming application, such as backpressure, user-defined state, and various streaming windows.
You could gain the most realtime-ness through a long-running Flink job.
|Apache Spark||For reliable long-running batch analytics and machine learning||Apache Spark can be used for a wide variety of jobs, ranging from ETL, machine learning, to stream processing.
It is designed for fast and general data processing at a large data scale and has a wide adoption as a "one-stop" big data solution.
|Pulsar Functions||For simple queries without too much operational and engineering complexity||Pulsar Functions can be a good choice when your processing of data is simple and straightforward.
Besides, you do not need to operate a separate analytical platform if your organization does not have one.
|Presto||For interactive ad hoc queries||Presto is leading in BI-type queries.
It supports concurrent query workloads and has been performing really well.
Presto is commonly used for running interactive queries, validating data assumptions, exploring datasets, and creating visualizations.
This section guides you through every step of how to link and use these systems to process stream data in the StreamNative Platform.