Click or drag to resize

JobBuilderMapTInput, TOutput Method (IOperationInput, ActionTInput, RecordWriterTOutput, TaskContext, RecordReuseMode)

Runs a map function on each record in the input.

Namespace:  Ookii.Jumbo.Jet.Jobs.Builder
Assembly:  Ookii.Jumbo.Jet (in Ookii.Jumbo.Jet.dll) Version: 2.0.0
Syntax
public StageOperation Map<TInput, TOutput>(
	IOperationInput input,
	Action<TInput, RecordWriter<TOutput>, TaskContext> mapper,
	RecordReuseMode recordReuse = RecordReuseMode.Default
)

Parameters

input
Type: Ookii.Jumbo.Jet.Jobs.BuilderIOperationInput
The input.
mapper
Type: SystemActionTInput, RecordWriterTOutput, TaskContext
The map function.
recordReuse (Optional)
Type: Ookii.Jumbo.Jet.Jobs.BuilderRecordReuseMode
The record reuse mode.

Type Parameters

TInput
The type of the input records.
TOutput
The type of the output records.

Return Value

Type: StageOperation
A StageOperation instance that can be used to further customize the operation.
Remarks
Note Note
There is no non-delegate version of this method. To use an existing map task class, simply use the Process(IOperationInput, Type) function.

This method generates a class inheriting from PushTaskTInput, TOutput which calls the target method of the mapper delegate from the ProcessRecord(TInput, RecordWriterTOutput) method.

Note Note
The task method will be called from a completely different process than the one that is using JobBuilder, so it should not really on any external state.

If recordReuse is Default and the target method has the AllowRecordReuseAttribute attribute applied to it, that attribute will be copied to the task class. If the target method has the ProcessAllInputPartitionsAttribute attribute applied to it, that attribute will be copied to the task class.

If the target method is a public method, it will be called directly by the generated task class. Otherwise, the supplied delegate will be serialized to the task settings and used to call the method. If the target method is an instance method, the instance it belongs to will be serialized as well (this class must have the SerializableAttribute attribute).

See Also