org.apache.pig.builtin
Class INVERSEMAP
java.lang.Object
org.apache.pig.EvalFunc<Map>
org.apache.pig.builtin.INVERSEMAP
public class INVERSEMAP
- extends EvalFunc<Map>
This UDF accepts a Map as input with values of any primitive data type.
UDF swaps keys with values and returns the new inverse Map.
Note in case original values are non-unique, the resulting Map would
contain String Key -> DataBag of values. Here the bag of values is composed
of the original keys having the same value.
Note: 1. UDF accepts Map with Values of primitive data type
2. UDF returns Map
grunt> cat 1data
[open#1,1#2,11#2]
[apache#2,3#4,12#24]
grunt> a = load 'data' as (M:[int]);
grunt> b = foreach a generate INVERSEMAP($0);
grunt> dump b;
([2#{(1),(11)},apache#{(open)}])
([hadoop#{(apache),(12)},4#{(3)}])
Methods inherited from class org.apache.pig.EvalFunc |
finish, getArgToFuncMapping, getCacheFiles, getInputSchema, getLogger, getPigLogger, getReporter, getReturnType, getSchemaName, getSchemaType, isAsynchronous, progress, setInputSchema, setPigLogger, setReporter, setUDFContextSignature, warn |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
INVERSEMAP
public INVERSEMAP()
exec
public Map exec(Tuple input)
throws IOException
- Description copied from class:
EvalFunc
- This callback method must be implemented by all subclasses. This
is the method that will be invoked on every Tuple of a given dataset.
Since the dataset may be divided up in a variety of ways the programmer
should not make assumptions about state that is maintained between
invocations of this method.
- Specified by:
exec
in class EvalFunc<Map>
- Parameters:
input
- the Tuple to be processed.
- Returns:
- result, of type T.
- Throws:
IOException
outputSchema
public Schema outputSchema(Schema input)
- Description copied from class:
EvalFunc
- Report the schema of the output of this UDF. Pig will make use of
this in error checking, optimization, and planning. The schema
of input data to this UDF is provided.
The default implementation interprets the OutputSchema
annotation,
if one is present. Otherwise, it returns null
(no known output schema).
- Overrides:
outputSchema
in class EvalFunc<Map>
- Parameters:
input
- Schema of the input
- Returns:
- Schema of the output
Copyright © 2007-2012 The Apache Software Foundation