Dataloader/MP Reference Manual

Table Of Contents
DataLoader/MP Examples
DataLoader/MP Reference Manual424148-003
6-9
Multiple Source Parallel Loading
The file kr is an edit file with these contents:
"" $dbl1
"D" $dbl2
"G" $dbl3
...
"Y" $dbln
Because the DataLoader/MP process was instructed to interpret this output file as a
keyrange file, the output records are not written to kr itself. Instead, the contents of kr,
together with the key of each record, are used to determine where the records are
written. Records with keys greater than or equal to "" (NULL) but less than "D" are
written to $dbl1, records with keys greater than or equal to "D" but less than "G" are
written to $dbl2, and so on.
Command lines 4 through 7 start the downstream DataLoader/MP processes, which
are customized versions of DataLoader/MP with user exits that convert the raw input
records.
-E gives each of these downstream DataLoader/MP processes different files (err1,
err2, ...) in which to record their execution time errors.
-I directs processes to get their input from $RECEIVE, unblocking to 200-byte
records. You did not specify a block size, so the DataLoader/MP process blocks as
many records as will fit into a 32,000-byte message.
-X directs each DataLoader/MP process to call user exit CONVERTIT to do the
data conversion.
-O directs processes to use $RECEIVE as their output file. Processes then take
the converted records (in this case, 215 bytes long), block them into 32,000-byte
blocks (148 of them or 31,820 bytes), put them into a output buffer pool, and wait
for another process to read them.
4>dbl1 /NOWAIT, NAME $dbl1/ -E=err1 &
-I=$RECEIVE(recform=fb<recsize=200>) -X=c -O=$RECEIVE
5>dbl1 /NOWAIT, NAME $dbl2/ -E=err2 &
-I=$RECEIVE(recform=fb<recsize=200>) -X=c -O=$RECEIVE
6>dbl1 /NOWAIT, NAME $dbl3/ -E=err3 &
-I=$RECEIVE(recform=fb<recsize=200>) -X=c -O=$RECEIVE
...
7>dbl1 /NOWAIT, NAME $dbln/ -E=errn &
-I=$RECEIVE(recform=fb<recsize=200>) -X=c -O=$RECEIVE
Command lines 8 through 11 start the SQLCI processes that read the converted and
blocked records and do a PARTONLY load so that each record goes into an
appropriate partition.
8>SQLCI /NOWAIT/ LOAD $dbl1,=part1,RECIN 215, BLOCKIN
31820,PARTONLY; EXIT
9>SQLCI /NOWAIT/ LOAD $dbl2,=part2, RECIN 215, BLOCKIN 31820,
PARTONLY; EXIT
10>SQLCI /NOWAIT/ LOAD $dbl3,=part3, RECIN 215, BLOCKIN 31820,