org.apache.hadoop.hive.serde2
Class TypedSerDe

java.lang.Object
  extended by org.apache.hadoop.hive.serde2.TypedSerDe
All Implemented Interfaces:
Deserializer, SerDe, Serializer
Direct Known Subclasses:
ByteStreamTypedSerDe

public abstract class TypedSerDe
extends Object
implements SerDe


Field Summary
protected  Object deserializeCache
           
protected  Class<?> objectClass
           
protected  Type objectType
           
 
Constructor Summary
TypedSerDe(Type objectType)
           
 
Method Summary
 Object deserialize(org.apache.hadoop.io.Writable blob)
          Deserialize an object out of a Writable blob.
 ObjectInspector getObjectInspector()
          Get the object inspector that can be used to navigate through the internal structure of the Object returned from deserialize(...).
protected  ObjectInspectorFactory.ObjectInspectorOptions getObjectInspectorOptions()
           
 Class<? extends org.apache.hadoop.io.Writable> getSerializedClass()
          Returns the Writable class that would be returned by the serialize method.
 void initialize(org.apache.hadoop.conf.Configuration job, Properties tbl)
          Initialize the HiveDeserializer.
 org.apache.hadoop.io.Writable serialize(Object obj, ObjectInspector objInspector)
          Serialize an object by navigating inside the Object with the ObjectInspector.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

objectType

protected Type objectType

objectClass

protected Class<?> objectClass

deserializeCache

protected Object deserializeCache
Constructor Detail

TypedSerDe

public TypedSerDe(Type objectType)
           throws SerDeException
Throws:
SerDeException
Method Detail

deserialize

public Object deserialize(org.apache.hadoop.io.Writable blob)
                   throws SerDeException
Description copied from interface: Deserializer
Deserialize an object out of a Writable blob. In most cases, the return value of this function will be constant since the function will reuse the returned object. If the client wants to keep a copy of the object, the client needs to clone the returned value by calling ObjectInspectorUtils.getStandardObject().

Specified by:
deserialize in interface Deserializer
Parameters:
blob - The Writable object containing a serialized object
Returns:
A Java object representing the contents in the blob.
Throws:
SerDeException

getObjectInspector

public ObjectInspector getObjectInspector()
                                   throws SerDeException
Description copied from interface: Deserializer
Get the object inspector that can be used to navigate through the internal structure of the Object returned from deserialize(...).

Specified by:
getObjectInspector in interface Deserializer
Throws:
SerDeException

getObjectInspectorOptions

protected ObjectInspectorFactory.ObjectInspectorOptions getObjectInspectorOptions()

initialize

public void initialize(org.apache.hadoop.conf.Configuration job,
                       Properties tbl)
                throws SerDeException
Description copied from interface: Deserializer
Initialize the HiveDeserializer.

Specified by:
initialize in interface Deserializer
Specified by:
initialize in interface Serializer
Parameters:
job - System properties
tbl - table properties
Throws:
SerDeException

getSerializedClass

public Class<? extends org.apache.hadoop.io.Writable> getSerializedClass()
Description copied from interface: Serializer
Returns the Writable class that would be returned by the serialize method. This is used to initialize SequenceFile header.

Specified by:
getSerializedClass in interface Serializer

serialize

public org.apache.hadoop.io.Writable serialize(Object obj,
                                               ObjectInspector objInspector)
                                        throws SerDeException
Description copied from interface: Serializer
Serialize an object by navigating inside the Object with the ObjectInspector. In most cases, the return value of this function will be constant since the function will reuse the Writable object. If the client wants to keep a copy of the Writable, the client needs to clone the returned value.

Specified by:
serialize in interface Serializer
Throws:
SerDeException


Copyright © 2009 The Apache Software Foundation