Parallel processing uses multiple threads that run in parallel so that a large operation
is divided into multiple smaller ones that are executed simultaneously.
SPD Server supports
parallel processing to improve the performance of reading and writing data that is stored in
HDFS.
By default, SPD Server performs parallel processing only if a Read operation includes
WHERE processing. If the Read operation does not include WHERE processing, the Read operation is performed
by a single
thread. To request parallel processing for all Read and Write operations, use these options:
Here is an example of the SPDSHPRD=
macro variable to request parallel processing for all Read operations:
%let spdshprd=yes;
In this example, the PARALLELREAD= table option requests parallel processing for all
Read operations for the Class.StudentID table:
libname class sasspds 'mydomain' server=myhost.5400 user="anonymous";
proc freq data=class.StudentID (parallelread=yes);
tables age;
run;
Here is an example of the SPDSHPWR= macro variable to request parallel processing
for all Write operations and to use eight threads. By specifying the SPDSHPWR= macro
variable, parallel processing is performed for all Write operations:
%let spdshpwr=8;
In this example, the PARALLELWRITE= table option requests parallel processing for
all Write operations and to use eight threads:
libname class sasspds 'mydomain' server=myhost.5400 user="anonymous";
proc append base=class.StudentID data=class.Ages (parallelwrite=8);
run;
Note: For parallel processing for
Read operations, SPD Server determines the number of threads to use
based on the MAXWHTHREADS= parameter file option value, which specifies
the maximum number of threads that SPD Server uses for processing.
For parallel processing for Write operations, you must specify the
number of threads to use. The maximum number of threads is determined
by the MAXWHTHREADS= parameter file option value.