1.大数据应用的主要计算模式
批处理计算:针对大规模数据的批量处理。主要技术有MapReduce、Spark等。
流计算:针对流数据的实时计算处理。主要技术有Spark、Storm、Flink、Flume、Dstream等。
图计算:针对大规模图结构数据的处理。主要技术有GraphX、Gelly、Giraph、PowerGraph等。
查询分析计算:大规模数据的存储管理和查询分析。主要技术有Hive、Impala、Dremel、Cassandra等。
2.大数据4V特征
Volume体量巨大; Velocity处理速度快; Variety类型繁多; Value价值密度低。
3.大数据的计算任务-I0密集型任务
涉及到网络、磁盘、内存IO的任务都是IO密集型任务(IO-Intensive)。
特点:CPU消耗很少,任务的大部分时间都在等待IO操作完成(因为IO的速度远远低于CPU和内存的速度)。
对于IO密集型任务,任务越多,CPU效率越高,但也有一个限度。常见的大部分任务都是lO密集型任务,比如Web应用。
IO密集型任务执行期间,99%的时间都花在IO上,花在CPU上的时间很少,因此提升网络传输效率和读写效率是重中之重。
4.大数据的计算任务-计算密集型任务 计算密集型任务(CPU-Intensive)的特点:要进行大量的计算,消耗CPU资源。比如计算圆周率、对视频进行高清解码等等,全靠CPU的运算能力。
计算密集型任务虽然也可以用多任务完成,但是任务越多,花在任务切换的时间就越多,CPU执行任务的效率就越低,所以,要最高效地利用CPU,计算密集型任务同时进行的数量应当等于CPU的核心数。
计算密集型任务由于主要消耗CPU资源,因此,代码运行效率至关重要。
5.大数据的计算任务-数据密集型任务
数据密集型应用(Data-Intensive)与计算密集型应用是存在区别的。
传统的计算密集型应用往往通过并行计算方式在紧耦合的超级计算机上运行少量计算作业,即一个计算作业同时占用大量计算机节点。
数据密集型应用的特点则主要是: 大量独立的数据分析处理作业可以分布在松耦合的计算机集群系统的不同节点上运行; 高度密集的海量数据I/O吞吐需求; 大部分数据密集型应用都有个数据流驱动的流程。
数据型密集计算的典型应用可概括为以下三类: 日志分析; 软件即服务(SaaS)应用; 大型企业的商务智能应用。
6.Hadopp大数据生态圈