💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
需要重点明确两点: 1. 一个记录调用一次 map()方法。 2. 相同的 key 调用一次 reduce()方法。 用户编写的程序分成三个部分:Mapper、Reducer 和 Driver。 1. **编写 Mapper 类** (1)用户自定义的 Mapper 要继承框架提供的 Mapper 类。 (2)Mapper 的输入数据是 KV 键值对的形式(KV 的类型可自定义)。 (3)对数据的处理逻辑写在 Mapper 类中 map()方法中。 (4)Mapper 的输出数据是 KV 键值对的形式(KV 的类型可自定义)。 (5)map()方法(maptask 进程)每一个<K,V>数据执行一次。 2. **编写 Reducer 类** (1)用户自定义的 Reducer 要继承框架提供的 Reducer 父类。 (2)Reducer 的输入数据类型对应 Mapper 的输出数据类型,也是 KV。 (3)Reducer 的业务逻辑写在 reduce()方法中。 (4)每一组相同 k 的<k,Iterator<v>>组调用一次 reduce()方法。 3. **Driver 阶段** 整个程序需要编写一个 Driver 来进行提交,将自定义 Mapper 和 Reducer 类 组合成一个 job,并提交 job 对象