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

7vux5j2d  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(354)

我已经识别了程序的密钥,我可以使用数据结构(比如javabean)来存储2种类型。
例子:
类javabean
{
private String s; private int count; }
我可以在hadoop map reduce程序中使用上面的javabean作为一个值吗?你能建议我还可以使用什么样的数据结构吗?

6qftjkof

6qftjkof1#

是的,您可以使用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();
}

在Map程序代码中,首先调用javabean类的setter方法,并将值作为javabean的tostring()方法发出,如下所示:

JavaBean jb = new JavaBean();
  jb.setS("abc");
  jb.setCount(1);
  context.write(key,jb.toString());

相关问题