Lambda

Posted One-Way

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lambda相关的知识,希望对你有一定的参考价值。

Lambda表达式

lambda expression是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。
表达式使用 Lambda 运算符 =>,该运算符读为“goes to”。语法如下:
形参列表=>函数体
函数体多于一条语句的可用大括号括起。

 

(x,y) => Console.Write("包含2个参数,值为:{0}和{1}",x,y)

(x,y)=>{int v=x*10;return y+v;}

 

lambda架构

Lambda架构划分为三层,分别是批处理层,服务层,和加速层。

query = function(all data)

Lambda系统架构定义了一套明确的架构原则,如果要建立一套强大的和可扩展的数据系统,必须服从上面的公式。

 

Lambda基于下列原则:

1.人为容错性human fault-tolerance – 系统易数据丢失或数据损坏,大规模时可能是不可挽回的。

2.数据不可变性data immutability – 数据存储在它的最原始的形式不变的,永久的。

3.重新计算recomputation – 因为上面两个原则,运行函数重新计算结果是可能的。

 

 

技术分享

 


批处理层(Batch Layer)
批处理层主用由Hadoop来实现,负责数据的存储和产生数据视图。

服务层(Serving layer)
由于批处理视图是静态的,服务层仅仅需要提供批量地更新和随机读,通过创建Hive表,读取HDFS中的数据。

加速层 (Speed layer)
在本质上,加速层与批处理层是一样的,都是从它接受到的数据上计算而得到视图。
加速层就是为了弥补批处理层的高延迟性问题,它通过Strom,Spark框架计算实时视图来解决这个问题。

 

以上是关于Lambda的主要内容,如果未能解决你的问题,请参考以下文章

Lambda表达式

Lamda表达式

LinqToSQL3

lambda及stream学习

匿名函数lambda

运算符优先级