real-time processing framework 实时计算框架
Real-time processing denotes processing, transforming and analyzing data on the fly
- Spark: Apache Spark has an advanced DAG execution engine that supports acyclic data flow and in-memory computing.
- Spark Stream: 实时流数据处理器(跟apache storm一样?distributed realtime computation system. spark stream vs apache storm 两者的一篇比较文章)
Spark Streaming is an extension of the core Spark API that enables scalable, high-throughput, fault-tolerant stream processing of live data streams. Data can be ingested from many sources like Kafka, Flume, Kinesis, or TCP sockets, and can be processed using complex algorithms expressed with high-level functions like map
, reduce
, join
and window
. Finally, processed data can be pushed out to filesystems, databases, and live dashboards. In fact, you can apply Spark’s machine learning and graph processing algorithms on data streams.
Internally, it works as follows. Spark Streaming receives live input data streams and divides the data into batches, which are then processed by the Spark engine to generate the final stream of results in batches.
Spark Stream与Apache Storm的区别:
One key difference between these two frameworks is that Spark performs Data-Parallel computations while Storm performs Task-Parallel computations. More similarities and differences are given in the table below.
参考