Spark核心之Spark Streaming
前面说到Spark的核心技术的时候,有和大家说过,有五大核心技术,不知道大家还记不记得; 给大家回忆下,这五大核心技术:分布式计算引擎 Spark Core 、基于Hadoop的SQL解决方案 SparkSQL 、可以实现高吞吐量、具备容错机制的准实时流处理系统 Spark Streaming 、分布式图处理框架 Spark GraphX 和构建在Spark上的分布式机器学习库 Spark MLlib ,现在应该有个印象了吧,其它的我就不多说了,今天主要是对Spark Streaming做个简单介绍,以便理解。 Spark Streaming理解 Spark Streaming 是核心 Spark API 的扩展,支持可伸缩、高吞吐量、容错的实时数据流处理。数据可以从许多来源获取,如 Kafka、Flume、Kinesis 或 TCP sockets,可以使用复杂的算法处理数据,这些算法用高级函数表示,如 map、reduce、join 和 window。 最后,处理后的数据可以推送到文件系统、数据库和活动仪表板。实际上,还可以将 Spark 的 MLlib 机器学习和 GraphX 图形处理算法应用于数据流。Spark Streaming 处理的数据流如下图所示。 流是什么 ? 简单理解,就好比水流,是不是有源头,但不知道终点,有始没有终,你永远不知道水流什么时候结束