1. 内存通用大数据运算系统:Spark
-
可以从HDFS读数据,但是运算中数据放在内存中,不使用Hadoop,而是新实现了分布式的处理
-
目标是低延迟的分析操作
-
MapReduce 的问题:通过HDFS进行作业间数据共享,代价太高
- Spark 的思路:1. 内存容量越来越大 2. 把数据放入多台机器的内存 3. 避免HDFS开销
-
spark基础数据结构: RDD: 1. 一个数据集 2. 只读,整个数据集创建后不能修改 3. 通常进行整个数据集的运算 优点:并发控制被简化了;可以记录lineage(数据集上的运算序列),可以重新计算,并不需要把RDD存储在stable storage上
-
RDD的两类运算: 1. Transformation:输入是RDD,输出是RDD 2. Action:输入是RDD,输出是可以返回给driver程序的结果,输出不是分布式的数据集
-
运算过程:1. 读入内存一次 2. 在内存中可以多次处理
-
Transformation:仅记录,不运算(Lazy execution) Action:当遇到Action时,需要返回结果,才真正执行已经记录的前面的运算
-
容错/内存缓冲替换:当内存缓冲的RDD丢失时,可以重新执行记录的运算,重新计算这个RDD
-
Spark Streaming:把输入的数据流转化为一个个minibatch,然后在minibatch上运行计算
- 大数据管理系统总结: