大数据Lambda架构

标签: 大数据 lambda 架构 | 发表时间:2014-05-11 03:58 | 作者:GreatElite
出处:http://blog.csdn.net

1 Lambda架构介绍

         Lambda架构划分为三层,分别是批处理层,服务层,和加速层。最终实现的效果,可以使用下面的表达式来说明。

query = function(alldata)


1.1 批处理层(Batch Layer, Apache Hadoop)

         批处理层主用由Hadoop来实现,负责数据的存储和产生任意的视图数据。计算视图数据是一个连续的操作,因此,当新数据到达时,使用MapReduce迭代地将数据聚集到视图中。 将数据集中计算得到的视图,这使得它不会被频繁地更新。根据你的数据集的大小和集群的规模,任何迭代转换计算的时间大约需要几小时。


1.2 服务层(Serving layer ,Cloudera Impala)

        服务层是由 Cloudera Impala框架来实现的,整体而言,使用了Impala的主要特性。从批处理输出的是一系列包含预计算视图的原始文件,服务层负责建立索引和呈现视图,以便于它们能够被很好被查询到。

        由于批处理视图是静态的,服务层仅仅需要提供批量地更新和随机读,而Cloudera Impala正好符合我们的要求。为了使用Impala呈现视图,所有的服务层就是在Hive元数据中创建一个表,这些元数据都指向HDFS中的文件。随后,用户立刻能够使用Impala查询到视图。

         Hadoop和Impala是批处理层和服务层极好的工具。Hadoop能够存储和处理千兆字节(petabytes)数据,而Impala能够查询快速且交互地查询到这个数据。可是,批处理和服务层单独存在,无法满足实时性需求。原因是MapReduce在设计上存在很高的延迟,它需要花费几小时的时间来将新数据展现给视图,然后通过媒介传递给服务层。这就是为什么我们需要加速层的原因。


1.3 加速层 (Speed layer, Storm, Apache HBase)

         在本质上,加速层与批处理层是一样的,都是从它接受到的数据上计算而得到视图。加速层就是为了弥补批处理层的高延迟性问题,它通过Strom框架计算实时视图来解决这个问题。实时视图仅仅包含数据结果去供应批处理视图。同时,批处理的设计就是连续重复从获取的数据中计算批处理视图,而加速层使用的是增量模型,这是鉴于实时视图是增量的。加速层的高明之处在于实时视图作为临时量,只要数据传播到批处理中,服务层中相应的实时视图结果就会被丢掉。这个被称作为“完全隔离”,意味着架构中的复杂部分被推送到结构层次中,而结构层的结果为临时的,大大方便了连续处理视图。

        令人疑惑的那部分就是呈现实时视图,以便于它们能够被查询到,以及使用批处理视图合并来获得全部的结果。由于实时视图是增量的,加速层需要同时随机的读和写。为此,我将使用Apache HBase数据库。HBase提供了对Storm连续地增量化实时视图的能力,同时,为Impala提供查询经批处理视图合并后得到的结果。Impala查询存储在HDFS中批处理视图和存储在HBase中的实时视图,这使得Impala成为相当完美的工具。


 

        Lambda抽象架构也可以这样来描述:



作者:GreatElite 发表于2014-5-10 19:58:01 原文链接
阅读:65 评论:0 查看评论

相关 [大数据 lambda 架构] 推荐:

大数据Lambda架构

- - CSDN博客云计算推荐文章
1 Lambda架构介绍.          Lambda架构划分为三层,分别是批处理层,服务层,和加速层. 最终实现的效果,可以使用下面的表达式来说明. 1.1 批处理层(Batch Layer, Apache Hadoop).          批处理层主用由Hadoop来实现,负责数据的存储和产生任意的视图数据.

深入浅出解析大数据Lambda架构 - 天善智能:专注于商业智能BI和数据分析、大数据领域的垂直社区平台

- -
Hadoop的出现让人们尝到了大数据技术的甜头,它的批处理能力已经被工业界充分认可,但是它的延迟性也一直为大家所诟病. 随着各行各业的发展,越来越多的业务要求大数据系统既可以处理历史数据,又可以进行实时计算. 比如电商推荐系统,当你在京东浏览商品时,京东会根据你的浏览、加车、收藏、删除等行为,实时为你推荐商品.

基于Lambda架构的股票市场事件处理引擎实践

- - 运维派
CEP(Complex Event Processing)是证券行业很多业务应用的重要支撑技术. 广发证券的IT研发团队,一直关注Storm、Spark、Flink等流式计算的开源技术,也经历了传统Lambda架构的技术演进,在Kappa架构的技术尚未成熟之际,团队针对证券行业的技术现状与特点,采用改良的Lambda架构实现了一个CEP引擎,本文介绍了此引擎的架构并分享了一些股票业务较为有趣的应用场景,以飨同好.

大数据架构hadoop

- - CSDN博客云计算推荐文章
摘要:Admaster数据挖掘总监 随着互联网、移动互联网和物联网的发展,谁也无法否认,我们已经切实地迎来了一个海量数据的时代,数据调查公司IDC预计2011年的数据总量将达到1.8万亿GB,对这些海量数据的分析已经成为一个非常重要且紧迫的需求. 随着互联网、移动互联网和物联网的发展,谁也无法否认,我们已经切实地迎来了一个海量数据的时代,数据调查公司IDC预计2011年的数据总量将达到1.8万亿GB,对这些海量数据的分析已经成为一个非常重要且紧迫的需求.

谈大数据-架构维度

- - 人月神话的BLOG
本篇作为在构思大数据平台架构时候维度方面的简单点滴思考记录. 前面关于大数据平台架构的核心功能的时候谈到过,基本应该包括数据采集和集成,数据存储,数据处理,数据分析这些核心层面. 我在前面谈大数据平台的时候也谈到过平台不仅仅是云和分布式相关技术的引入,其架构一方面和传统的BI相似,但是更加重要的则是对外部应用涉及到大数据的应用场景的支撑和大数据平台本身的大数据服务能力的开放问题.

典型的大数据架构

- - 数据库 - ITeye博客
“任何数据架构由主要的四个逻辑组件组成:”. “我不认为这是一个大数据架构的蓝图. 但这样一个图能给你一个关于可能包含的组件的大致的想法. 然后对工程师让事情变得简单,你开始在每个等级上添加需求,约束,和服务等级协议(SLAS Service-level agreement). 一旦你有了关于事情该怎么看的某种想法,你开始建立它并发现你将用到的一些组件不能很好的在一起工作,或者根本没有办法达到这些服务等级协议.

大数据架构和模式(一)——大数据分类和架构简介

- - 博客园_知识库
    大数据架构和模式(二)——如何知道一个大数据解决方案是否适合您的组织.     大数据架构和模式(三)——理解大数据解决方案的架构层.     大数据架构和模式(四)——了解用于大数据解决方案的原子模式和复合模式.     大数据架构和模式(五)——对大数据问题应用解决方案模式并选择实现它的产品.

[Java 8] Lambda 表达式实例

- - Java - 编程语言 - ITeye博客
Java 8 中的 Lambda 表达式,允许将函数作为形参传递给另外的函数. 为了更好地理解,我们用实例的方式来演示如何使用 Lambda 表达式. 1、Lambda 表达式 Hello World. 这是一个最简单的 Lambda 表达式的例子. 首先在 main 方法的上面声明了一个接口 HelloWorld,在 main 方法中实现了这个接口,随后调用了接口的唯一方法.

Lambda表达式现状分析

- - InfoQ cn
距明年Java 8发布还有不到一年时间,Brian Goetz发布了最新的 Lambda表达式现状分析,涵盖了Java集合API的改进. Java 8最受期待的特性之一是引入了 Lambda表达式,Java集合API对它的重点支持是确保该类库被广泛使用的关键所在. 如果你不熟悉Lambda表达式的语法,请查看先前的一篇文章 Lambda表达式现状分析以及之前InfoQ的相关报道,以便了解该语法的详细内容.

Java8集合中的Lambda表达式

- - 四火的唠叨
文章系本人原创,转载请保持完整性并注明出自 《四火的唠叨》. 本文翻译自《 Java 8 Explained: Applying Lambdas to Java Collections》. Lambdas表达式是Java 8的主题,在Java平台上我们期待了很久. 但是,如果如果我们不在集合中使用它的话,就损失了很大价值.