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本身提供的支持,而实际之中肯定不可能这样进行,因为所有的数据都保存在内容里,那么面对于大数据的环境会爆满。