(stream数据流)MapReduce基础模型

MapReduce基础模型

在进行数据分析的处理之中有一个最重要的基础模型:MapReduce模型,对于这个模型一共分为两个部分:

  • Map处理部分
  • Reducefenxi部分

在进行数据分析之前必须对数据进行合理的处理,而后才可以做统计分析操作。

范例:MapReduce基础模型

import java.util.ArrayList;
import java.util.DoubleSummaryStatistics;
import java.util.List;
import java.util.function.ObjDoubleConsumer;
import java.util.stream.Stream;

public class StreamDemo {

    public static void main(String[] args) {

        //如果要想用Stream进行分析处理,则一定要将全部分析的数据保存在集合之中
        List<Order> all = new ArrayList<>();
        all.add(new Order("橘子",5.8,10));
        all.add(new Order("芒果",8.15,5));
        all.add(new Order("菠萝",30.8,1));
        all.add(new Order("苹果",1.8,6));
        Stream<Order> stream = all.stream();    //获取Stream接口对象
        //分析商品中带“果”的信息数据
        DoubleSummaryStatistics statistics = stream.filter((Order ele)->ele.getName().contains("果")).mapToDouble((Order orderObject)->
                                                                            orderObject.getPrice()
                                                                            * orderObject.getAmount()).summaryStatistics();

        System.out.println("购买数量:"+statistics.getCount());
        System.out.println("购买总价"+statistics.getSum());
        System.out.println("平均花费"+statistics.getAverage());
        System.out.println("最高花费"+statistics.getMax());
        System.out.println("最低花费"+statistics.getMin());

    }

}

class Order{

    private String name;    //商品名称
    private double price;   //单价
    private int amount; //购买数量

    public Order(String name,double price,int amount){
        this.name = name;
        this.price = price;
        this.amount = amount;
    }

    public String getName() {
        return name;
    }

    public double getPrice() {
        return price;
    }

    public int getAmount() {
        return amount;
    }
}


购买数量:2
购买总价51.55
平均花费25.775
最高花费40.75
最低花费10.8

这些分析操作只是JDk本身提供的支持,而实际之中肯定不可能这样进行,因为所有的数据都保存在内容里,那么面对于大数据的环境会爆满。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值