This interface defines how to communicate to Pig what functionality can
be pushed into the loader. If a given loader does not implement this interface
it will be assumed that it is unable to accept any functionality for push down.
Set of possible operations that Pig can push down to a loader.
Determine the operators that can be pushed to the loader.
Note that by indicating a loader can accept a certain operator
(such as selection) the loader is not promising that it can handle
all selections. When it is passed the actual operators to
push down it will still have a chance to reject them.
- list of all features that the loader can support
Indicate to the loader fields that will be needed. This can be useful for
loaders that access data that is stored in a columnar format where indicating
columns to be accessed a head of time will save scans. This method will
not be invoked by the Pig runtime if all fields are required. So implementations
should assume that if this method is not invoked, then all fields from
the input are required. If the loader function cannot make use of this
information, it is free to ignore it by returning an appropriate Response
requiredFieldList RequiredFieldList indicating which columns will be needed.
This structure is read only. User cannot make change to it inside pushProjection.
- Indicates which fields will be returned
Describes a field that is required to execute a scripts.
- the required sub fields. The return value is null if all
subfields are required
List of fields that Pig knows to be required to executed a script.
Set the list of required fields.
Geta ll required fields as a list.
- the required fields - this will be null if all fields are
Add a field to the list of required fields.
rf required field to add to the list.
Indicates whether the loader will return the requested fields or all fields.
Indicates whether the loader will return only the requested fields or all fields.
- true if only requested fields will be returned, false if all fields will be
Set whether the loader will return only the requesetd fields or all fields.
honored if true only requested fields will be returned, else all fields will be