大数据计算层是从大量的原始数据中抽取有价值的信息, 即数据转换成信息的过程. 主要对所输入的各种形式的数据进行加工整理, 这一过程包含对数据的收集, 存储, 加工, 分类, 归并, 计算, 排序, 转换, 检索和传播的演变与推导. 大数据计算层包括两大基本因素: 数据处理和数据管理. 如下图所示:
大数据平台计算层
数据处理是指对数据进行收集整理, 组织, 存储, 维护, 检索, 传送等操作, 该部分也是后续进行数据管理时的必要部分. 数据处理涉及的计算比较简单, 需要根据业务的需求来编写应用程序加以解决, 加工计算会根据具体的业务来定制. 而数据管理则比较复杂, 是针对数据的爆炸性增长和多种复杂类型进行统一处理.
以下是大数据平台计算层需要考虑的多种场景和对应的实现框架参考.
全量数据的离线批处理计算, 计算数据流巨大, 响应时间在分钟级, 这种业务场景称之为离线批处理计算. 实现框架一般采用 MapReduce,Hive.
少量数据的交互式查询场景, 响应时间在秒级. 这种业务场景称之为近实时交互查询. 实现框架一般采用 Impala.
少量数据的实时查询处理, 响应时间在毫秒级. 这种业务场景称之为实时处理计算. 实现框架一般采用 Spark,HBase.
少量数据的逐条或者时间窗口批处理, 响应时间在毫秒级. 这种业务场景称之为流式处理计算. 实现框架一般采用 Storm,Spark Streaming.
全量数据的全文检索查询, 响应时间在毫秒级. 这种业务场景称之为全文检索查询. 实现框架一般采用 Solr,Elasticsearch,Lucene.
来源: http://www.jianshu.com/p/963898bd6c61