mxmxm
Re:Apache Flink
on Wednesday January 30, 2019 @05:56AM (#19034120)
Not quite. All of these are open-source projects but they are very different in many aspects:
* Apache Flink
Sophisticated stream processing framework with focus on robustness (managed memory) and correctness (exactly-once semantics)
* Apache Flume
Tailored towards log data.
* Apache Storm
First stream processing framework. Legacy.
* Apache Samza
Only used at LinkedIn. Tight to Hadoop's YARN.
* Apache Spark
Only great in batch processing.
* Apache Apex
Dead project. Tight to Hadoop's YARN.
* Apache Kafka
A distributed message queue with simple stream processing built on top via the Confluent Platform.
Re:View Counting at Reddit
on Sunday May 28, 2017 @10:09AM (#14434421)
Counting views/impressions in combination with Apache Kafka sounds like the ideal use case for a stream processor like Apache Flink. It supports very large state which can be managed off-hand. This should enable you to count the exact number of unique views in real time with exactly once semantics. Here is a blog post on large scale counting with more details. It also includes a comparison with other streaming technologies like Sanza and Spark: https://data-artisans.com/blog/counting-in-streams-a-hierarc...
Also check out this blog post by a Twitter engineer on counting ad impressions: https://data-artisans.com/blog/extending-the-yahoo-streaming...