Java函数式编程(2):流式计算
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~
创新互联专业为企业提供澧县网站建设、澧县做网站、澧县网站设计、澧县网站制作等企业网站建设、网页设计与制作、澧县企业网站模板建站服务,十年澧县做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
Lambda表达式虽然将接口作为代码块赋值给了变量,但如果仅仅只是Lambda表达式,还无法让Java由量变引起质变。真正让Lambda能够发挥出巨大威力的,就是流式计算。
所谓流式计算,就是让数据像在流水线上一样,从一道工序流转到下一道工序。就像这样:
如果把数据处理的方式比作流水线,那么Spark、Storm和Flink就是目前市面上头部的三家工厂。它们有各种各样的数据装配间(也就是各种处理数据的算子),将数据按照所需加工成型。所以,不懂流式计算根本就做不了大数据开发。上面那张图,如果换成流式计算的,就是这样:
Lambda表达式就变成了一个个的数据装配间。
还是以实际的代码例子来说明。假如有这样的代码:
/**
* 雇员数据
*
*@author 湘王
*/
public class Employee {
public enum Type { MANAGER, SELLER, OFFICER };
private String name;
private String genger;
private Integer age;
private boolean married;
private Type type;
public Employee(final String name, final String genger, final Integer age, final boolean married, final Type type) {
super();
this.name = name;
this.genger = genger;
this.age = age;
this.married = married;
this.type = type;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGenger() {
return genger;
}
public void setGenger(String genger) {
this.genger = genger;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public boolean isMarried() {
return married;
}
public void setMarried(boolean married) {
this.married = married;
}
public Type getType() {
return type;
}
public void setType(Type type) {
this.type = type;
}
@Override
public String toString() {
return this.name + "(" + this.genger + ")-" + this.age;
}
}
标题名称:Java函数式编程(2):流式计算
浏览路径:http://scyanting.com/article/dsoiddj.html