You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hadoop.apache.org by unmesha sreeveni <un...@gmail.com> on 2013/10/30 06:53:29 UTC

Empty value in write() method : Custom Datatype in Hadoop MapReduce

I am emiting two 2D double array as key and value.I am in construction of
my WritableComparable class.


*public class MF implements WritableComparable<MF>{
/**
 * @param args
 */private double[][] value;
public MF() {
    // TODO Auto-generated constructor stub
}
  public MF(double[][] value) {
    // TODO Auto-generated constructor stub

      this.value = new double[value.length][value[0].length];
    // System.out.println("in matrix");}
 public void set(double[][] value) {
      this.value = value;
  }
 public double[][] getValue() {
        return value;
      }

 @Override
  public void write(DataOutput out) throws IOException {
     System.out.println("write");
     int row=0;
        int column=0;
        for(int i=0; i<value.length;i++){
            row = value.length;
            for(int j=0; j<value[i].length; j++){
                column = value[i].length;
            }
        }
        out.writeInt(row);
        out.writeInt(column);



        for(int i=0;i<value.length ; i++){
            for(int j= 0 ; j< value[0].length;j++){
                 out.writeDouble(value[i][j]);
                }
        }
        for(int i =0;i< value.length ;i ++){
            for(int j = 0;j <value[0].length;j++){
                System.out.print(value[i][j]+ "\t");
            }
            System.out.println("");
        }

  }

  @Override
  public void readFields(DataInput in) throws IOException {
      int row = in.readInt();
      int col = in.readInt();


      double[][] value = new double[row][col];
      for(int i=0;i<row ; i++){
            for(int j= 0 ; j< col;j++){
                value[i][j] = in.readDouble();

            }
        }
  }

  @Override
  public int hashCode() {

  }

  @Override
  public boolean equals(Object o) {

  }

@Overridepublic int compareTo(MF o) {
    // TODO Auto-generated method stub
    return 0;}
 @Override
  public String toString() {
     System.out.println(Arrays.toString(value));
    return Arrays.toString(value);

  }*

*}*

And by half of the way...when i tried to print my matrix within write
method,the matrix is not having values


  
write

0.0	0.0	0.0	
0.0	0.0	0.0	
0.0	0.0	0.0	


  
write

0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	
0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	
0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	


I am doing something wrong. Can anyone help me out to resolve this.I am
getting apt no of rows and col.

-- 
*Thanks & Regards*
*
*
Unmesha Sreeveni U.B*
*

**

Re: Empty value in write() method : Custom Datatype in Hadoop MapReduce

Posted by unmesha sreeveni <un...@gmail.com>.
Empty value in write() method : Custom Datatype in Hadoop MapReduce[Solved]


On Wed, Oct 30, 2013 at 11:23 AM, unmesha sreeveni <un...@gmail.com>wrote:

> I am emiting two 2D double array as key and value.I am in construction of
> my WritableComparable class.
>
>
> *public class MF implements WritableComparable<MF>{
> /**
>  * @param args
>  */private double[][] value;
> public MF() {
>     // TODO Auto-generated constructor stub
> }
>   public MF(double[][] value) {
>     // TODO Auto-generated constructor stub
>
>       this.value = new double[value.length][value[0].length];
>     // System.out.println("in matrix");}
>  public void set(double[][] value) {
>       this.value = value;
>   }
>  public double[][] getValue() {
>         return value;
>       }
>
>  @Override
>   public void write(DataOutput out) throws IOException {
>      System.out.println("write");
>      int row=0;
>         int column=0;
>         for(int i=0; i<value.length;i++){
>             row = value.length;
>             for(int j=0; j<value[i].length; j++){
>                 column = value[i].length;
>             }
>         }
>         out.writeInt(row);
>         out.writeInt(column);
>
>
>
>         for(int i=0;i<value.length ; i++){
>             for(int j= 0 ; j< value[0].length;j++){
>                  out.writeDouble(value[i][j]);
>                 }
>         }
>         for(int i =0;i< value.length ;i ++){
>             for(int j = 0;j <value[0].length;j++){
>                 System.out.print(value[i][j]+ "\t");
>             }
>             System.out.println("");
>         }
>
>   }
>
>   @Override
>   public void readFields(DataInput in) throws IOException {
>       int row = in.readInt();
>       int col = in.readInt();
>
>
>       double[][] value = new double[row][col];
>       for(int i=0;i<row ; i++){
>             for(int j= 0 ; j< col;j++){
>                 value[i][j] = in.readDouble();
>
>             }
>         }
>   }
>
>   @Override
>   public int hashCode() {
>
>   }
>
>   @Override
>   public boolean equals(Object o) {
>
>   }
>
> @Overridepublic int compareTo(MF o) {
>     // TODO Auto-generated method stub
>     return 0;}
>  @Override
>   public String toString() {
>      System.out.println(Arrays.toString(value));
>     return Arrays.toString(value);
>
>   }*
>
> *}*
>
> And by half of the way...when i tried to print my matrix within write
> method,the matrix is not having values
>
>
>   write
>
> 0.0	0.0	0.0	
> 0.0	0.0	0.0	
> 0.0	0.0	0.0	
>
>
>   write
>
> 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	
> 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	
> 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	
>
>
> I am doing something wrong. Can anyone help me out to resolve this.I am
> getting apt no of rows and col.
>
> --
> *Thanks & Regards*
> *
> *
> Unmesha Sreeveni U.B*
> *
>
> **
>



-- 
*Thanks & Regards*
*
*
Unmesha Sreeveni U.B*
*
*Junior Developer
*
*Amrita Center For Cyber Security
*
*
Amritapuri.

www.amrita.edu/cyber/
*

Re: Empty value in write() method : Custom Datatype in Hadoop MapReduce

Posted by unmesha sreeveni <un...@gmail.com>.
Empty value in write() method : Custom Datatype in Hadoop MapReduce[Solved]


On Wed, Oct 30, 2013 at 11:23 AM, unmesha sreeveni <un...@gmail.com>wrote:

> I am emiting two 2D double array as key and value.I am in construction of
> my WritableComparable class.
>
>
> *public class MF implements WritableComparable<MF>{
> /**
>  * @param args
>  */private double[][] value;
> public MF() {
>     // TODO Auto-generated constructor stub
> }
>   public MF(double[][] value) {
>     // TODO Auto-generated constructor stub
>
>       this.value = new double[value.length][value[0].length];
>     // System.out.println("in matrix");}
>  public void set(double[][] value) {
>       this.value = value;
>   }
>  public double[][] getValue() {
>         return value;
>       }
>
>  @Override
>   public void write(DataOutput out) throws IOException {
>      System.out.println("write");
>      int row=0;
>         int column=0;
>         for(int i=0; i<value.length;i++){
>             row = value.length;
>             for(int j=0; j<value[i].length; j++){
>                 column = value[i].length;
>             }
>         }
>         out.writeInt(row);
>         out.writeInt(column);
>
>
>
>         for(int i=0;i<value.length ; i++){
>             for(int j= 0 ; j< value[0].length;j++){
>                  out.writeDouble(value[i][j]);
>                 }
>         }
>         for(int i =0;i< value.length ;i ++){
>             for(int j = 0;j <value[0].length;j++){
>                 System.out.print(value[i][j]+ "\t");
>             }
>             System.out.println("");
>         }
>
>   }
>
>   @Override
>   public void readFields(DataInput in) throws IOException {
>       int row = in.readInt();
>       int col = in.readInt();
>
>
>       double[][] value = new double[row][col];
>       for(int i=0;i<row ; i++){
>             for(int j= 0 ; j< col;j++){
>                 value[i][j] = in.readDouble();
>
>             }
>         }
>   }
>
>   @Override
>   public int hashCode() {
>
>   }
>
>   @Override
>   public boolean equals(Object o) {
>
>   }
>
> @Overridepublic int compareTo(MF o) {
>     // TODO Auto-generated method stub
>     return 0;}
>  @Override
>   public String toString() {
>      System.out.println(Arrays.toString(value));
>     return Arrays.toString(value);
>
>   }*
>
> *}*
>
> And by half of the way...when i tried to print my matrix within write
> method,the matrix is not having values
>
>
>   write
>
> 0.0	0.0	0.0	
> 0.0	0.0	0.0	
> 0.0	0.0	0.0	
>
>
>   write
>
> 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	
> 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	
> 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	
>
>
> I am doing something wrong. Can anyone help me out to resolve this.I am
> getting apt no of rows and col.
>
> --
> *Thanks & Regards*
> *
> *
> Unmesha Sreeveni U.B*
> *
>
> **
>



-- 
*Thanks & Regards*
*
*
Unmesha Sreeveni U.B*
*
*Junior Developer
*
*Amrita Center For Cyber Security
*
*
Amritapuri.

www.amrita.edu/cyber/
*

Re: Empty value in write() method : Custom Datatype in Hadoop MapReduce

Posted by unmesha sreeveni <un...@gmail.com>.
Empty value in write() method : Custom Datatype in Hadoop MapReduce[Solved]


On Wed, Oct 30, 2013 at 11:23 AM, unmesha sreeveni <un...@gmail.com>wrote:

> I am emiting two 2D double array as key and value.I am in construction of
> my WritableComparable class.
>
>
> *public class MF implements WritableComparable<MF>{
> /**
>  * @param args
>  */private double[][] value;
> public MF() {
>     // TODO Auto-generated constructor stub
> }
>   public MF(double[][] value) {
>     // TODO Auto-generated constructor stub
>
>       this.value = new double[value.length][value[0].length];
>     // System.out.println("in matrix");}
>  public void set(double[][] value) {
>       this.value = value;
>   }
>  public double[][] getValue() {
>         return value;
>       }
>
>  @Override
>   public void write(DataOutput out) throws IOException {
>      System.out.println("write");
>      int row=0;
>         int column=0;
>         for(int i=0; i<value.length;i++){
>             row = value.length;
>             for(int j=0; j<value[i].length; j++){
>                 column = value[i].length;
>             }
>         }
>         out.writeInt(row);
>         out.writeInt(column);
>
>
>
>         for(int i=0;i<value.length ; i++){
>             for(int j= 0 ; j< value[0].length;j++){
>                  out.writeDouble(value[i][j]);
>                 }
>         }
>         for(int i =0;i< value.length ;i ++){
>             for(int j = 0;j <value[0].length;j++){
>                 System.out.print(value[i][j]+ "\t");
>             }
>             System.out.println("");
>         }
>
>   }
>
>   @Override
>   public void readFields(DataInput in) throws IOException {
>       int row = in.readInt();
>       int col = in.readInt();
>
>
>       double[][] value = new double[row][col];
>       for(int i=0;i<row ; i++){
>             for(int j= 0 ; j< col;j++){
>                 value[i][j] = in.readDouble();
>
>             }
>         }
>   }
>
>   @Override
>   public int hashCode() {
>
>   }
>
>   @Override
>   public boolean equals(Object o) {
>
>   }
>
> @Overridepublic int compareTo(MF o) {
>     // TODO Auto-generated method stub
>     return 0;}
>  @Override
>   public String toString() {
>      System.out.println(Arrays.toString(value));
>     return Arrays.toString(value);
>
>   }*
>
> *}*
>
> And by half of the way...when i tried to print my matrix within write
> method,the matrix is not having values
>
>
>   write
>
> 0.0	0.0	0.0	
> 0.0	0.0	0.0	
> 0.0	0.0	0.0	
>
>
>   write
>
> 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	
> 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	
> 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	
>
>
> I am doing something wrong. Can anyone help me out to resolve this.I am
> getting apt no of rows and col.
>
> --
> *Thanks & Regards*
> *
> *
> Unmesha Sreeveni U.B*
> *
>
> **
>



-- 
*Thanks & Regards*
*
*
Unmesha Sreeveni U.B*
*
*Junior Developer
*
*Amrita Center For Cyber Security
*
*
Amritapuri.

www.amrita.edu/cyber/
*

Re: Empty value in write() method : Custom Datatype in Hadoop MapReduce

Posted by unmesha sreeveni <un...@gmail.com>.
Empty value in write() method : Custom Datatype in Hadoop MapReduce[Solved]


On Wed, Oct 30, 2013 at 11:23 AM, unmesha sreeveni <un...@gmail.com>wrote:

> I am emiting two 2D double array as key and value.I am in construction of
> my WritableComparable class.
>
>
> *public class MF implements WritableComparable<MF>{
> /**
>  * @param args
>  */private double[][] value;
> public MF() {
>     // TODO Auto-generated constructor stub
> }
>   public MF(double[][] value) {
>     // TODO Auto-generated constructor stub
>
>       this.value = new double[value.length][value[0].length];
>     // System.out.println("in matrix");}
>  public void set(double[][] value) {
>       this.value = value;
>   }
>  public double[][] getValue() {
>         return value;
>       }
>
>  @Override
>   public void write(DataOutput out) throws IOException {
>      System.out.println("write");
>      int row=0;
>         int column=0;
>         for(int i=0; i<value.length;i++){
>             row = value.length;
>             for(int j=0; j<value[i].length; j++){
>                 column = value[i].length;
>             }
>         }
>         out.writeInt(row);
>         out.writeInt(column);
>
>
>
>         for(int i=0;i<value.length ; i++){
>             for(int j= 0 ; j< value[0].length;j++){
>                  out.writeDouble(value[i][j]);
>                 }
>         }
>         for(int i =0;i< value.length ;i ++){
>             for(int j = 0;j <value[0].length;j++){
>                 System.out.print(value[i][j]+ "\t");
>             }
>             System.out.println("");
>         }
>
>   }
>
>   @Override
>   public void readFields(DataInput in) throws IOException {
>       int row = in.readInt();
>       int col = in.readInt();
>
>
>       double[][] value = new double[row][col];
>       for(int i=0;i<row ; i++){
>             for(int j= 0 ; j< col;j++){
>                 value[i][j] = in.readDouble();
>
>             }
>         }
>   }
>
>   @Override
>   public int hashCode() {
>
>   }
>
>   @Override
>   public boolean equals(Object o) {
>
>   }
>
> @Overridepublic int compareTo(MF o) {
>     // TODO Auto-generated method stub
>     return 0;}
>  @Override
>   public String toString() {
>      System.out.println(Arrays.toString(value));
>     return Arrays.toString(value);
>
>   }*
>
> *}*
>
> And by half of the way...when i tried to print my matrix within write
> method,the matrix is not having values
>
>
>   write
>
> 0.0	0.0	0.0	
> 0.0	0.0	0.0	
> 0.0	0.0	0.0	
>
>
>   write
>
> 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	
> 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	
> 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	
>
>
> I am doing something wrong. Can anyone help me out to resolve this.I am
> getting apt no of rows and col.
>
> --
> *Thanks & Regards*
> *
> *
> Unmesha Sreeveni U.B*
> *
>
> **
>



-- 
*Thanks & Regards*
*
*
Unmesha Sreeveni U.B*
*
*Junior Developer
*
*Amrita Center For Cyber Security
*
*
Amritapuri.

www.amrita.edu/cyber/
*

Re: Empty value in write() method : Custom Datatype in Hadoop MapReduce

Posted by unmesha sreeveni <un...@gmail.com>.
Empty value in write() method : Custom Datatype in Hadoop MapReduce[Solved]


On Wed, Oct 30, 2013 at 11:23 AM, unmesha sreeveni <un...@gmail.com>wrote:

> I am emiting two 2D double array as key and value.I am in construction of
> my WritableComparable class.
>
>
> *public class MF implements WritableComparable<MF>{
> /**
>  * @param args
>  */private double[][] value;
> public MF() {
>     // TODO Auto-generated constructor stub
> }
>   public MF(double[][] value) {
>     // TODO Auto-generated constructor stub
>
>       this.value = new double[value.length][value[0].length];
>     // System.out.println("in matrix");}
>  public void set(double[][] value) {
>       this.value = value;
>   }
>  public double[][] getValue() {
>         return value;
>       }
>
>  @Override
>   public void write(DataOutput out) throws IOException {
>      System.out.println("write");
>      int row=0;
>         int column=0;
>         for(int i=0; i<value.length;i++){
>             row = value.length;
>             for(int j=0; j<value[i].length; j++){
>                 column = value[i].length;
>             }
>         }
>         out.writeInt(row);
>         out.writeInt(column);
>
>
>
>         for(int i=0;i<value.length ; i++){
>             for(int j= 0 ; j< value[0].length;j++){
>                  out.writeDouble(value[i][j]);
>                 }
>         }
>         for(int i =0;i< value.length ;i ++){
>             for(int j = 0;j <value[0].length;j++){
>                 System.out.print(value[i][j]+ "\t");
>             }
>             System.out.println("");
>         }
>
>   }
>
>   @Override
>   public void readFields(DataInput in) throws IOException {
>       int row = in.readInt();
>       int col = in.readInt();
>
>
>       double[][] value = new double[row][col];
>       for(int i=0;i<row ; i++){
>             for(int j= 0 ; j< col;j++){
>                 value[i][j] = in.readDouble();
>
>             }
>         }
>   }
>
>   @Override
>   public int hashCode() {
>
>   }
>
>   @Override
>   public boolean equals(Object o) {
>
>   }
>
> @Overridepublic int compareTo(MF o) {
>     // TODO Auto-generated method stub
>     return 0;}
>  @Override
>   public String toString() {
>      System.out.println(Arrays.toString(value));
>     return Arrays.toString(value);
>
>   }*
>
> *}*
>
> And by half of the way...when i tried to print my matrix within write
> method,the matrix is not having values
>
>
>   write
>
> 0.0	0.0	0.0	
> 0.0	0.0	0.0	
> 0.0	0.0	0.0	
>
>
>   write
>
> 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	
> 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	
> 0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	
>
>
> I am doing something wrong. Can anyone help me out to resolve this.I am
> getting apt no of rows and col.
>
> --
> *Thanks & Regards*
> *
> *
> Unmesha Sreeveni U.B*
> *
>
> **
>



-- 
*Thanks & Regards*
*
*
Unmesha Sreeveni U.B*
*
*Junior Developer
*
*Amrita Center For Cyber Security
*
*
Amritapuri.

www.amrita.edu/cyber/
*