Package org.apache.hadoop.mapred

Source Code of org.apache.hadoop.mapred.HadoopFrameworkMessage

package org.apache.hadoop.mapred;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

public class HadoopFrameworkMessage {
  enum Type {
    S2E_SEND_STATUS_UPDATE, // Used by scheduler to ask executor to send a Mesos
                            // status update for a given task
    S2E_SHUTDOWN_EXECUTOR,  // Used by the scheduler to ask executor to shutdown
                            // (so that we can clean up TaskTrackers when idle)
    E2S_KILL_REQUEST,       // Used by executor to report a killTask from Mesos
  }
 
  Type type;
  String arg1;
  String arg2;
 

  public HadoopFrameworkMessage(Type type, String arg1, String arg2) {
    this.type = type;
    this.arg1 = arg1;
    this.arg2 = arg2;
  }
 
  public HadoopFrameworkMessage(Type type, String arg1) {
    this(type, arg1, "");
  }

  public HadoopFrameworkMessage(byte[] bytes) throws IOException {
    DataInputStream in = new DataInputStream(new ByteArrayInputStream(bytes));
    String typeStr = in.readUTF();
    try {
      type = Type.valueOf(typeStr);
    } catch(IllegalArgumentException e) {
      throw new IOException("Unknown message type: " + typeStr);
    }
    arg1 = in.readUTF();
    arg2 = in.readUTF();
  }
 
  public byte[] serialize() throws IOException {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    DataOutputStream dos = new DataOutputStream(bos);
    dos.writeUTF(type.toString());
    dos.writeUTF(arg1);
    dos.writeUTF(arg2);
    return bos.toByteArray();
  }
}
TOP

Related Classes of org.apache.hadoop.mapred.HadoopFrameworkMessage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.