org.apache.pig.impl.util
Class UDFContext
java.lang.Object
org.apache.pig.impl.util.UDFContext
public class UDFContext
- extends Object
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
getUDFContext
public static UDFContext getUDFContext()
addJobConf
public void addJobConf(org.apache.hadoop.mapred.JobConf conf)
- Adds the JobConf to this singleton. Will be
called on the backend by the Map and Reduce
functions so that UDFs can obtain the JobConf
on the backend.
getJobConf
public org.apache.hadoop.mapred.JobConf getJobConf()
- Get the JobConf. This should only be called on
the backend. It will return null on the frontend.
- Returns:
- JobConf for this job. This is a copy of the
JobConf. Nothing written here will be kept by the system.
getUDFConf should be used for recording UDF specific
information.
getUDFProperties
public Properties getUDFProperties(Class c,
String[] args)
- Get a properties object that is specific to this UDF.
Note that if a given UDF is called multiple times in a script,
and each instance passes different arguments, then each will
be provided with different configuration object.
This can be used by loaders to pass their input object path
or URI and separate themselves from other instances of the
same loader. Constructor arguments could also be used,
as they are available on both the front and back end.
Note that this can only be used to share information
across instantiations of the same function in the front end
and between front end and back end. It cannot be used to
share information between instantiations (that is, between
map and/or reduce instances) on the back end at runtime.
- Parameters:
c
- of the UDF obtaining the properties object.args
- String arguments that make this instance of
the UDF unique.
- Returns:
- A reference to the properties object specific to
the calling UDF. This is a reference, not a copy.
Any changes to this object will automatically be
propogated to other instances of the UDF calling this
function.
getUDFProperties
public Properties getUDFProperties(Class c)
- Get a properties object that is specific to this UDF.
Note that if a given UDF is called multiple times in a script,
they will all be provided the same configuration object. It
is up to the UDF to make sure the multiple instances do not
stomp on each other.
It is guaranteed that this properties object will be separate
from that provided to any other UDF.
Note that this can only be used to share information
across instantiations of the same function in the front end
and between front end and back end. It cannot be used to
share information between instantiations (that is, between
map and/or reduce instances) on the back end at runtime.
- Parameters:
c
- of the UDF obtaining the properties object.
- Returns:
- A reference to the properties object specific to
the calling UDF. This is a reference, not a copy.
Any changes to this object will automatically be
propogated to other instances of the UDF calling this
function.
serialize
public void serialize(org.apache.hadoop.mapred.JobConf conf)
throws IOException
- Serialize the UDF specific information into an instance
of JobConf. This function is intended to be called on
the front end in preparation for sending the data to the
backend.
- Parameters:
conf
- JobConf to serialize into
- Throws:
IOException
- if underlying serialization throws it
deserialize
public void deserialize()
throws IOException
- Populate the udfConfs field. This function is intended to
be called by Map.configure or Reduce.configure on the backend.
It assumes that addJobConf has already been called.
- Throws:
IOException
- if underlying deseralization throws it
reset
public void reset()
Copyright © ${year} The Apache Software Foundation