数据结构与算法-离线(在线)算法(计算)

just test key words

离线算法( offline algorithms),在开始时就需要知道问题的所有输入数据,而且在解决一个问题后就要立即输出结果。

离线计算就是在计算开始前已知所有输入数据,输入数据不会产生变化,且在解决一个问题后就要立即得出结果的前提下进行的计算。在大数据中属于数据的计算部分,在该部分中与离线计算对应的则是实时计算。

离线计算特点:

  1. 数据量巨大且保存时间长;

2)在大量数据上进行复杂的批量运算;

3)数据在计算之前已经完全到位,不会发生变化;

4)能够方便的查询批量计算的结果;

离线计算与实时计算区别

在实时计算中,××输入数据是可以以序列化的方式一个个输入并进行处理的,也就是说在开始的时候并不需要知道所有的输入数据。而对于离线计算,在开始之前就必须知道所有的输入数据。例如:当用户请求发送过来后进行处理或输出结果的是实时计算,但在用户请求之前就将数据计算好的是离线计算。由于实时计算不能在整体上把握输入数据,所以得出的结果可能不是[最优解]

在离线计算中,使用 Hdfs存储数据,使用 MapReduce 做批量计算,计算完成的数据如需数据仓库的存储,直接存入Hive , 然后从Hive进行展现。

离线计算框架:Spark、Hadoop

推荐阅读更多精彩内容