常用的离线统计的框架

点击上方蓝字进行关注的都是靓仔和仙女


简介

首先我们先来简单的介绍一下离线统计。


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

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




离线统计的特点
  • 数据量巨大且保存时间长

  • 在大量数据上进行复杂的批量运算

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

  • 能够方便的查询批量计算的结果


离线计算与实时计算的区别

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


同时,离线计算多用于模型的训练和数据的预处理,最经典的就是Hadoop的MapReduce方式;而实时计算框架是要求立即返回计算结果的,快速响应请求,多用于简单的累加计算和基于训练好的模型进行分类等操作。


常用离线计算框架

Hadoop

Hadoop,是由Yahoo工程师,Apache基金会发起的,MapReduce分布式计算框架+HDFS分布式文件系统(GFS)+HBase数据存储系统(BigTable)。数据分布式存储在磁盘各个节点,计算时各个节点读取存储在自己节点的数据进行处理。

优点:


  1. 高可靠性:Hadoop按位存储和处理数据的能力值得人们信赖。

  2. 高扩展性:Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。

  3. 高效性:Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。

  4. 高容错性:Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。

  5. 低成本:与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低。


适用场景:


离线大批量数据处理;不需要多次迭代


Spark

由UC Berkley AMP Lab,Apache基金会发起,专为大规模数据处理而设计的快速通用的计算引擎[3]  。它基于内存计算的并行计算框架,使用内存来存储数据,RDD(弹性分布式数据集),用户可以指定存储策略,当内存不够的时候可以放到磁盘上。

特点:


首先,高级 API 剥离了对集群本身的关注,Spark 应用开发者可以专注于应用所要做的计算本身。其次,Spark 很快,支持交互式计算和复杂算法。最后,Spark 是一个通用引擎,可用它来完成各种各样的运算,包括 SQL 查询、文本处理、机器学习等,而在 Spark 出现之前,我们一般需要学习各种各样的引擎来分别处理这些需求。


适用场景:


离线快速的处理,不能用于处理需要长期保存的数据;适用于多次迭代的计算模型(机器学习模型)


MapReduce


Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

MapReduce 的编程模型,它适用于大规模数据集的并行运算。其基本思想是将问题分解成 Map ( 映射) 和 Reduce ( 化简) ,Map 程序将数据分割独立区块,利用计算机群实现分布式处理,最后通过Reduce 程序将结果汇总整合输出。MapReduce 的作业流程是任务的分解与集合的汇总。 


HDFS


Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。

HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。

HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。

好了本文就先介绍到这里啦...


不知道大家还知道哪些


常用的离线统计的框架呢?


可在文章评论进行分享互动呦



今天部落还将给大家分享一个


如何在项目中使用mapreduce完成离线统计》的课题


本课题今天是由动脑学院的sean老师


给大家进行讲解


你只需要在今晚8:30分


点击本文最下方 阅读原文


即可进行观看呦


推荐阅读  

高并发与分布式系统的基石--数据库读写分离实战

这就是学编程的下场...

论程序员与产品经理是怎么互掐起来的

如何假装成为一名好的程序员


来自部落的邀请

Java框架 Spring 核心机制

至程序员的情书

Java高级部落送你ofo小黄车60天免费骑行,还不来?

Facebook研发的Cassandra你用过吗?

给 Java开发者的10个大数据工具和框架


推荐程序员必备微信号 

Java高级部落

微信号:javagaojibuluo



在部落里,将会分享程序员相关的的技术,职场生活,行业热点资讯....以及更多好玩的IT趣文和趣图都在此部落中.....这....只属于我们程序猿.....


 ▼长按下方↓↓↓二维码识别关注


推荐学习资料获取微信号 

长按下方二维码识别关注



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值