Archives of the TeradataForum
Message Posted: Mon, 28 Jul 2003 @ 14:49:31 GMT
Presumably, your problem is that your source file is mainframe tape and you don't have enough DASD to store intermediate files hence your need to read in one pass. We had a similar problem when we did our initial load. We wound up allocating a DASD pool for our usage during the initial load. Our primary constraint was tape initiators. I assume you are working within a mainframe environment and Teradata is channel connected.
We have a utility by Compuware called Fileaid. This allows us to split a file by record type. It would be very easy to write a simple program to split by record type if you do not have a similar utility. I would write out 6 output files. (30 record types/5 target tables based on max types per multiload). The first file would be written to a temp file that is read into multiload first. With each of the other 5 written to either tape or disk. subsequent multiload steps could read each of these 5 files. An alternative would be to handle 5 record types and write the remainder to a single tape. This remainder tape is then read by a subsequent job that handled 5 more types... and so on each pass dealing with smaller subsets of data until you have no more record types.
If you are not channel connected or prefer to work on the middle tier, you have lots of options available. Once you lose the channel you are working in a network environment which is much slower.
|Copyright 2016 - All Rights Reserved|
|Last Modified: 23 Jun 2019|