Input data retrieval
The FetchAs setting applies only to input cards. It indicates how the adapter retrieves the input data. By default, this setting is Integral, meaning that all of the input data is retrieved once from the source.
Setting this parameter to Burst means that the adapter will retrieve the input data in increments specified in the FetchUnit parameter. The units of data correspond to the highest-level repeating object in the schema. For example, a payroll file contains 105 records. Using Burst mode with the FetchUnit parameter set to 10, data will be sent in 11 "chunks". The first ten chunks will contain ten records each and the eleventh chunk will contain the remaining five records.
Despite the fact that bursts process some of the map data and that multiple sets of outputs are built, transactional integrity is not sacrificed. If desired, the Scope card setting can be set to Map to prevent any changes from being committed until all bursts have successfully completed.
There are several potential benefits to using Burst mode:
- A single map consumes a large quantity of input data.
However, only a small portion of that data is required to build an individual output. Burst mode can be used to minimize the size of the workspace (an internal index of types present in the data stream). In some cases, a smaller workspace can increase map performance.
- Coordinate multiple inputs together.
For example, the first unit of data for Input Card 1 must be coordinated with the first unit of data for Input Card 2, and so on. If Burst mode is not enabled, one input must then act as a "driver" that must search for matching outputs.
- Process a single logical unit of work at one time.
For example, you may want to process one row from a database table at one time or one message from a message queue at one time. This would equate to the Burst mode being enabled with the FetchUnit parameter set to 1.