Java函数式编程(2):流式计算

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;
    }
}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Java函数式编程(2):流式计算