DATAPATH= LIBNAME Statement Option

Specifies a list of paths in which to store data partitions (.dpf) for an SPD Engine data set.
Default: the primary path specified in the LIBNAME statement
Interaction: PARTSIZE= data set or LIBNAME option
Engine: SPD Engine Only

Syntax

DATAPATH=('path1' 'path2'...)

Required Argument

'pathn'
is a complete pathname in single or double quotation marks within parentheses. Separate multiple arguments with spaces.
Note: The pathnames specified in the DATAPATH= option must be unique for each library. Librefs that are different but reference the same pathnames can result in lost data.
Note: If your data is in the zFS file system, only one path specification is required. The zFS system automatically spreads the partitions across multiple logical volumes.

Details

The SPD Engine creates as many partitions as needed to store all the data. The size of the partitions is set using the PARTSIZE= option and partitions are created in the paths specified using the DATAPATH= option in a cyclic fashion.
Note: If you are planning to store data in locally mounted drives and access the data from a remote computer, use the remote pathname when you specify the LIBNAME. For example, if /data01 and /data02 are locally mounted drives on the localA computer, use the pathnames /nfs/localA/data01 and /nfs/localA/data02 in the LIBNAME statement.You cannot change the pathnames of the files. When you specify the DATAPATH=, INDEXPATH=, METAPATH=, or primary path LIBNAME options, make sure that the identical paths that were used when the data set was created are used every time you access the data sets. The names of these locations are stored internally in the data set. If you change any part of the pathname, the SPD Engine might not be able to find the data set or might damage the data set.

Example: DATAPATH= for First Partition

The path for the first partition is randomly selected and then continues in a cyclical fashion:
libname mylib spde '/metadisk/metadata'
   datapath=('/disk1/dataflow1' '/disk2/dataflow2' '/disk3/dataflow3');
 
For example, if /DISK2/DATAFLOW2 is randomly selected as the first path, the first partition is located there. The second partition is located in /DISK3/DATAFLOW3, the third partition is located in /DISK1/DATAFLOW1, and so on.