Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-1986

Add support for a general serialization mechanism for Map Reduce

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.17.0
    • None
    • None
    • Incompatible change, Reviewed
    • Hide
      Programs that implement the raw Mapper or Reducer interfaces will need modification to compile with this release. For example,

      class MyMapper implements Mapper {
        public void map(WritableComparable key, Writable val,
          OutputCollector out, Reporter reporter) throws IOException {
          // ...
        }
        // ...
      }

      will need to be changed to refer to the parameterized type. For example:

      class MyMapper implements Mapper<WritableComparable, Writable, WritableComparable, Writable> {
        public void map(WritableComparable key, Writable val,
          OutputCollector<WritableComparable, Writable> out, Reporter reporter) throws IOException {
          // ...
        }
        // ...
      }

      Similarly implementations of the following raw interfaces will need modification: InputFormat, OutputCollector, OutputFormat, Partitioner, RecordReader, RecordWriter
      Show
      Programs that implement the raw Mapper or Reducer interfaces will need modification to compile with this release. For example, class MyMapper implements Mapper {   public void map(WritableComparable key, Writable val,     OutputCollector out, Reporter reporter) throws IOException {     // ...   }   // ... } will need to be changed to refer to the parameterized type. For example: class MyMapper implements Mapper<WritableComparable, Writable, WritableComparable, Writable> {   public void map(WritableComparable key, Writable val,     OutputCollector<WritableComparable, Writable> out, Reporter reporter) throws IOException {     // ...   }   // ... } Similarly implementations of the following raw interfaces will need modification: InputFormat, OutputCollector, OutputFormat, Partitioner, RecordReader, RecordWriter

    Description

      Currently Map Reduce programs have to use WritableComparable-Writable key-value pairs. While it's possible to write Writable wrappers for other serialization frameworks (such as Thrift), this is not very convenient: it would be nicer to be able to use arbitrary types directly, without explicit wrapping and unwrapping.

      Attachments

        1. SerializableWritable.java
          3 kB
          Dennis Kubes
        2. serializer-v1.patch
          70 kB
          Thomas White
        3. serializer-v2.patch
          70 kB
          Thomas White
        4. hadoop-serializer-v2.tar.gz
          1.36 MB
          Thomas White
        5. serializer-v3.patch
          97 kB
          Thomas White
        6. serializer-v4.patch
          93 kB
          Thomas White
        7. serializer-v5.patch
          94 kB
          Thomas White
        8. SequenceFileWriterBenchmark.java
          3 kB
          Thomas White
        9. serializer-v6.patch
          94 kB
          Thomas White
        10. serializer-v7.patch
          103 kB
          Thomas White

        Activity

          People

            tomwhite Thomas White
            tomwhite Thomas White
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: