hadoop - 在 Mapreduce 程序中,我们可以使用数据结构作为值吗?

标签 hadoop mapreduce

我已经认识到程序的关键,我可以使用 javabean 之类的数据结构来存储 2 种类型。
示例:
类 JavaBean {private String s;private int count;}

我可以在我的 Hadoop Map-Reduce 程序中使用上述 JavaBean 作为值吗?
您能建议我可以使用哪些其他数据结构吗?

最佳答案

是的,您可以使用 JavaBean 作为值。就像你有 POJO 类:

Class JavaBean{
private String s;
private int count;
private String s;
private int count;
public String getS() {
    return s;
}
public void setS(String s) {
    this.s = s;
}
public int getCount() {
    return count;
}
public void setCount(int count) {
    this.count = count;
}

public String toString(){
    return getS()+","+getCount();
}

在您的 Mapper 代码中,首先调用 JavaBean 类的 setter 方法并将值作为 JavaBean 的 toString() 方法发出,例如:
  JavaBean jb = new JavaBean();
  jb.setS("abc");
  jb.setCount(1);
  context.write(key,jb.toString());    

关于hadoop - 在 Mapreduce 程序中,我们可以使用数据结构作为值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35098424/

相关文章:

hadoop - 如何在本地文件系统中的文件上运行map/reduce?

hadoop - 使用 multipleInputFormat 时未调用映射器

hadoop - 为什么要删除io.sort.record.percent?

xml - 如何将多个节点添加到 Hadoop 2.2.0 Yarn?

java - 什么时候更喜欢 Hadoop MapReduce 而不是 Spark?

Hadoop Pig 计数

hadoop - 将数据从远程服务器加载到配置单元

mongodb 计数并删除重复值

hadoop - sqoop 从 netezza 失败 - "java.lang.ArrayIndexOutOfBoundsException"

hadoop - 为什么hadoop jobtracker reducer进度条不能达到100%,但是这个job已经完成了