Subclasses of Source MUST override this method.
Subclasses of Source MUST override this method. The base only handles test modes, so you should invoke this method for test modes unless your Source has some special handling of testing.
If you want to filter, you should use this and output a 0 or 1 length Iterable.
If you want to filter, you should use this and output a 0 or 1 length Iterable. Filter does not change column names, and we generally expect to change columns here
Allows you to read a Tap on the submit node NOT FOR USE IN THE MAPPERS OR REDUCERS.
Allows you to read a Tap on the submit node NOT FOR USE IN THE MAPPERS OR REDUCERS. Typical use might be to read in Job.next to determine if another job is needed
write the pipe and return the input so it can be chained into the next operation
write the pipe and return the input so it can be chained into the next operation
This Source writes out the TupleEntry as a simple JSON object, using the field names as keys and the string representation of the values.
TODO: it would be nice to have a way to add read/write transformations to pipes that doesn't require extending the sources and overriding methods.