IMF 自定义Reduce函数,学习理解Apply、callback函数
泛型:可以定义为各种类型,使用大写字母标识,名称自己随便定义了。
apply函数,就理解成一个普通函数吧,在一个接口中定义,无具体的实现方法,具体内容在匿名接口方法中去实现。这里有点类似Spark Streaming电商广告点击综合案例底层数据层的建模和编码实现(基于MySQL) 中的callback,异曲同工之妙。
Iterable:迭代器,Iterable.next依次取得迭代器的值
package com.dt.spark.SparkApps.SparkStreaming;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class IMFReduce {
public static
MYT myIMFreduce(final Iterable
iterable, final Func
func, MYT origin) {
for (Iterator iterator = iterable.iterator(); iterator.hasNext();) {
origin = func.IMFapply((MYF) (iterator.next()), origin);
}
return origin;
}
public static void main(String[] args) {
System.out.println("====&