MultiLoad

MultiLoad is a Teradata utility.

Teradata MultiLoad – Data Maintenance
A time-tested, highly reliable, parallel load utility, Teradata MultiLoad is used to create and maintain Teradata Databases. MultiLoad optimizes operations that rapidly acquire, process, and apply data to tables in a Teradata Database. For data maintenance, MultiLoad updates, inserts, upserts, and deletes large volumes of data into empty or populated tables. MultiLoad works at the data block level, providing a faster alternative to insert/select operations that touch a significant portion of the target table. A single MultiLoad job can maintain up to five Teradata tables by extracting large volumes of data, locking the destination tables, then loading data rapidly using block level updates. Like FastLoad, MultiLoad runs on a variety of client platforms, operates in a fail-safe mode, and is fully recoverable.

Features

 * High-performance maintenance operations applies updates to multiple tables in single pass
 * Best for over 1-2% of rows changed

Supported Platforms

 * NCR UNIX SVR4 MP-RAS
 * IBM z/OS (MVS and USS)
 * z/OS VM
 * Microsoft Windows 2000, XP, and Server 2003
 * Sun Solaris SPARC
 * IBM
 * HP-UX

Description
The Teradata MultiLoad utility gives you an efficient way to deal with batch maintenance of large databases. MultiLoad is a command-driven utility you can use to do fast, high-volume maintenance on multiple tables and views of a Teradata Relational Database Management System (RDBMS).

Using a single MultiLoad job, you can do a number of different import and delete tasks on RDBMS tables and views:
 * Each MultiLoad import task can do multiple data insert, update, and delete functions on up to five different tables or views.
 * Each MultiLoad delete task can remove large numbers of rows from a single table.

You can use MultiLoad to import data from:
 * Disk or tape files on a channel-attached client system
 * Input files on a network-attached workstation
 * Special input module (INMOD) programs you write to select, validate, and preprocess input data
 * Access modules
 * Any device providing properly formatted source data

The table or view in the RDBMS receiving the data can be any existing table or view for which you have access privileges for the maintenance tasks you want to do.

A Sample Script
.LOGTABLE ${DX_LOG}.TAB1_LOG; /* .LOGON ${LOGON}; /* .BEGIN IMPORT MLOAD TABLES ${DX_TAB}.TAB1 ,${DX_DUP}.TAB1 WORKTABLES ${DX_WRK}.TAB1_WT1 ,${DX_WRK}.TAB1_WT2 ERRORTABLES ${DX_UTL}.TAB1_ERR1 ${DX_UTL}.TAB1_UV1 ,${DX_UTL}.TAB1_ERR2 ${DX_UTL}.TAB1_UV2 ERRLIMIT 1000 CHECKPOINT 100000 SESSIONS 4
 * 1) Logon String for Teradata
 * 1) Logon String for Teradata
 * 1) MLOAD Tables
 * 2) MultiLoad Work Tables
 * 3) The data is loaded into worktable before it is sent to the target
 * 4) table.
 * 5) MultiLoad Error Tables
 * 6) The tables with ERR suffix contains error results
 * 7) The tables with UV suffix contains duplicate records
 * 8) Error Limit at which to stop Multiload
 * 9) ERRLIMIT : The number of rejected records before faliure
 * 10) This excludes the Duplicate records
 * 11) CHECKPOINT : Multiload checkpoint after X number of records
 * 12) SESSIONS : Maximum sessions should be equal to the number
 * 13) of AMPs on the Teradata Server
 * 1) This excludes the Duplicate records
 * 2) CHECKPOINT : Multiload checkpoint after X number of records
 * 3) SESSIONS : Maximum sessions should be equal to the number
 * 4) of AMPs on the Teradata Server

/* .LAYOUT LAYOUT_NAME INDICATORS; .FIELD x * INTEGER; .FIELD y * VARCHAR(20); .FIELD z * BYTEINT; .FIELD RECORD_STAT_IND * CHAR(1); /* .DML LABEL NEW_RECORD; INSERT INTO ${DX_TAB}.TAB1 ( x ,y ,z ) VALUES (
 * 1) Layout of the File from where the data will be feed to the database
 * 1) Layout of the File from where the data will be feed to the database
 * 1) Business Rule Defined File :
 * 2) Telenor DW -Design Document- V1.4 - 04-Aug-2003
 * 3) Section X.X.X
 * 4) Description :
 * 1) Section X.X.X
 * 2) Description :
 * x,
 * y,
 * z

); /* .DML LABEL DUP_RECORD; INSERT INTO ${DX_DUP}.TAB1 ( x ,y ,z ) VALUES (
 * 1) Business Rule Defined File :
 * 2) Telenor DW -Design Document- V1.4 - 04-Aug-2003
 * 3) Section X.X.X
 * 4) Description :
 * 1) Section X.X.X
 * 2) Description :
 * x,
 * y,
 * z

); /* .DML LABEL UPD_RECORD; UPDATE ${DX_TAB}.TAB1 SET x = :x ,y = :y WHERE z = :z /*
 * 1) Business Rule Defined File :
 * 2) Telenor DW -Design Document- V1.4 - 04-Aug-2003
 * 3) Section X.X.X
 * 4) Description :
 * 1) Section X.X.X
 * 2) Description :
 * 1) Business Rule Applied
 * 2) Telenor DW -Design Document- V1.4 - 04-Aug-2003
 * 3) Section X.X.X
 * 4) RECORD STATUS CODE
 * 5) Below is an example - modify according to your script
 * 6) I - Insert Record
 * 7) U - Record needs to be updated
 * 8) D - Records already exist in the target table
 * 9) INSERTION, UPDATION & DUPLICATES AS DEFIN
 * 1) U - Record needs to be updated
 * 2) D - Records already exist in the target table
 * 3) INSERTION, UPDATION & DUPLICATES AS DEFIN
 * 1) INSERTION, UPDATION & DUPLICATES AS DEFIN