全部产品
云市场

write(Record key, Record value) 与 write(Record record) 的区别

更新时间:2017-12-01 16:27:08

TaskContext 中的 write(Record key, Record value) 与 write(Record record) 的区别,如下所示:

  • write(Record key, Record value):输出中间结果,例如:key.set(“id”, v1),value.set(“size”, v2)。map 产出的中间结果,需要网络传输给 reduce,没关联表去做类型推断,所以必须声明字段类型用于序列化。注意输出的字段类型是MaxCompute的字段类型。

    1. job.setMapOutputKeySchema(SchemaUtils.fromString(“id:string”));
    2. job.setMapOutputValueSchema(SchemaUtils.fromString(“size:bigint”));
  • write(Record record):输出结果到最终表,有表去做类型推断,也就没必要声明字段类型。