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

Add support for a general serialization mechanism for Map Reduce

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.17.0
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Incompatible change, Reviewed
    • Release Note:
      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. serializer-v7.patch
          103 kB
          Tom White
        2. serializer-v6.patch
          94 kB
          Tom White
        3. SequenceFileWriterBenchmark.java
          3 kB
          Tom White
        4. serializer-v5.patch
          94 kB
          Tom White
        5. serializer-v4.patch
          93 kB
          Tom White
        6. serializer-v3.patch
          97 kB
          Tom White
        7. hadoop-serializer-v2.tar.gz
          1.36 MB
          Tom White
        8. serializer-v2.patch
          70 kB
          Tom White
        9. serializer-v1.patch
          70 kB
          Tom White
        10. SerializableWritable.java
          3 kB
          Dennis Kubes

          Activity

            People

            • Assignee:
              tomwhite Tom White
              Reporter:
              tomwhite Tom White
            • Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: