java mapreduce_java代码实现mapreduce中的map、reduce、filter方法

public class MyList {

public static void main(String[] args) {

List aa =new ArrayList<>();

aa.add(1);

aa.add(2);

aa.add(3);

oneselfList list=new oneselfList(aa);

// 调用map方法

System.out.println("调用map执行完成的结果");

list.map(new mymaps() {

@Override

public int maptest(int a) {

return a+1;

}

}).forEach(System.out::println);

// 调用reduce方法

System.out.println("调用reduce执行完成的结果");

int sum =list.reduce(new myreduce() {

@Override

public int reducetest(int a, int b) {

return a+b;

}

});

System.out.println(sum);

// 调用filter方法

System.out.println("调用filter执行完成的结果");

list.filtertest(new myfilter() {

@Override

public boolean filter(int a) {

return a>2;

}

}).forEach(System.out::println);

}

}

class oneselfList{

private List list;

public oneselfList(List alist){

this.list=alist;

}

public void add (int a){

list.add(a);

}

//map方法

public List map(mymaps mapop){

List newlist=new ArrayList<>();

for(Integer i : list){

newlist.add(mapop.maptest(i));

}

return newlist;

}

// reduce方法

public int reduce(myreduce reduce){

if(list.size()<2){

try {

throw new Exception("长度不够,无法进行聚合");

} catch (Exception e) {

e.printStackTrace();

}

}else{

int a=list.get(0);

int b=list.get(1);

int result=reduce.reducetest(a,b);

for(int i=2;i

result=reduce.reducetest(result,list.get(i));

}

return result;

}

return 0;

}

// filter方法

public List filtertest(myfilter filter){

List newlist=new ArrayList<>();

for(Integer i:list){

if(filter.filter(i)){

newlist.add(i);

}

}

return newlist;

}

}

interface mymaps{

int maptest(int i);

}

interface myreduce{

int reducetest(int a,int b);

}

interface myfilter{

boolean filter(int a);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在PythonMapReduce模型filtermapreduce操作分别如下: 1. filter操作: filter操作会对输入数据进行筛选,只保留符合条件的数据。在MapReduce模型filter操作通常在映射(Map)阶段完成。在映射阶段,可以对输入数据进行筛选,只保留符合条件的数据,并将它们转换为键值对(key-value pairs),以便后续的归约(Reduce)操作处理。 2. map操作: map操作会对输入数据进行转换,生成新的数据集合。在MapReduce模型map操作通常在映射(Map)阶段完成。在映射阶段,可以对输入数据进行转换,将它们转换为一系列的键值对。这些键值对是归约任务所需的间结果。 3. reduce操作: reduce操作会对输入数据进行聚合,生成最终的结果。在MapReduce模型reduce操作通常在归约(Reduce)阶段完成。在归约阶段,将相同键的值合并为一个结果。最终的结果就是reduce操作生成的结果。 在Python,可以使用以下函数来实现MapReducefiltermapreduce操作: 1. filter操作: 可以使用Python内置函数filter()来实现filter操作。filter()函数会对一个序列进行过滤,返回符合条件的元素组成的序列。 2. map操作: 可以使用Python内置函数map()来实现map操作。map()函数会对一个序列进行映射,返回一个新的序列。在MapReduce模型,可以使用map()函数将输入数据转换为一系列的键值对。 3. reduce操作: 可以使用Python内置函数reduce()来实现reduce操作。reduce()函数会对一个序列进行聚合,返回一个单一的值。在MapReduce模型,可以使用reduce()函数将相同键的值合并为一个结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值