(1)什么是Spark-Streaming?
spark steaming 是spark Core API的一种扩展,它可用于大规模、高吞吐量、容错的实时数据流处理。它支持从多种数据源中读取数据,如 kafka,flume,twitter,zeromq,kinesis 或者是tcp socket。并且能够使用类似高阶函数的复杂算法来进行数据处理,如 map(),reduce(),join(),window()等。处理后的数据可以保存到文件系统、数据库等。
(2)spark streaming的基本运行原理?
接收实时输入数据流,将数据流按照时间间隔拆分成多个batch,比如每收集5s的数据封装成一个batch,然后将每个batch交给spark的计算引擎进行处理,产生由一个一个的batch组成的结果数据流,输出。
(3)spark streaming的高级抽象?
spark streaming提供的高级抽象叫做Dstream,即 Discretized Stream(离散流)
代表了一个持续不断的数据流,Dstream可以利用数据源来创建,如kafka,flume,twitter,zeromq,kinesis,也可以通过其他的Dstream通过高阶函数来创建,如map(),reduce(),join(),window()等,自我的理解是类似于RDD的创建,可以根据数据本身来创建,也可以根据RDD通过map(),reduce(),join()等来创建,Dstream类似于一个装满RDD元素的RDD列表的感觉。Dstream的内部其实是一系列持