DataLoader/MX Reference Manual (G06.24+)
DataLoader/MX Examples
DataLoader/MX Reference Manual—525872-002
6-3
Single Source Parallel Loading
•
-I directs the DataLoader/MX process to read the input from the file infile.
•
-O specifies that the output is written to the file kr, which is interpreted as a
keyrange file.
•
-S directs the DataLoader/MX process to generate a status message every
100,000 records.
The file kr is a text file containing:
"" $dbl1
"D" $dbl2
"G" $dbl3
...
"Y" $dbln
Because the DataLoader/MX process is 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 2 through 5 start downstream DataLoader/MX processes, which are
customized versions of DataLoader/MX with user exits that convert the raw input
records. The processes use these parameters:
•
-E gives each of these downstream DataLoader/MX processes different files (err1,
err2, ...) in which to record their execution time errors.
•
-I directs the processes to get their input from $RECEIVE, unblocking to 200 byte
records. You did not specify a block size, so the DataLoader/MX process blocks as
many records as fit into a 32,000-byte message.
•
-X directs each DataLoader/MX process to call user exit CONVERTIT to do the
data conversion.
•
-O directs processes to use $RECEIVE as their output file, which means they 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 an output buffer pool, and wait
for another process to read them:
2$ run -name=/G/dbl1 dbg1 -E=err1 \
"-I=\$RECEIVE(recform=fb<recsize=200>)" -X=c -O=\$RECEIVE &
3$ run -name=/G/dbl2 dbg1 -E=err2 \
"-I=\$RECEIVE(recform=fb<recsize=200>)" -X=c -O=\$RECEIVE &
4$ run -name=/G/dbl3 dbg1 -E=err3 \
"-I=\$RECEIVE(recform=fb<recsize=200>)" -X=c -O=\$RECEIVE &
...
5$ run -name=/G/dbln dbg1 -E=errn \
"-I=\$RECEIVE(recform=fb<recsize=200>)" -X=c -O=\$RECEIVE &