大数据系统对被处理的数据是有要求的,数据结构必须是同意的或者可以被抽象成统一结构。大数据系统被称为可以处理结构化、半结构化、非结构化数据。这里的非结构化值得是在存储结构上不一致,但是肯定可以从某个角度抽象成结构化数据
一.存储与资源调度
大数据系统是为多台计算机共同参与并行运算而构建的系统,只要准备几台计算机(节点),连入同一网络将要处理的数据分段,并把每段发给一个节点处理,就做到了分布式数据处理。
- 海量数据的存储:构建支持横向扩展的、由多台计算机组成的分布式存储系统就相当于有了无限空间,Hadoop中的HDFS就是这样一个软件系统。
- 计算资源的调度:计算资源指的是执行数据处理代码的硬件资源,包括内存、CPU、GPU等。如何把数据处理分散到不同的计算机上,让每台计算机的计算资源被充分利用起来,比如把新任务分配给空闲的计算机。这就需要一套资源管理和调度系统,而Hadoop中的Yarn就是为了完成这个任务而生的
- 各节点写作进行具体的数据处理
二.计算框架原理
- Map:在循环中处理每条输入数据
- Shuffle:将不同Key的记录传到不同的计算机
- Reducer:将Key相同的记录再进行一次处理,得到最终结果