Sorting 尝试使用PROC sort对一个非常大的数据集进行排序时,会抛出异常错误
在LINUX和dataset上运行这段代码是在大型机上,并且有60000000多个obsSorting 尝试使用PROC sort对一个非常大的数据集进行排序时,会抛出异常错误,sorting,sas,Sorting,Sas,在LINUX和dataset上运行这段代码是在大型机上,并且有60000000多个obs proc sort data=test_history force; by acct score; run; 我得到以下错误 NOTE: There were 67397829 observations read from the data set test_HISTORY. 435 ERROR: Failure while merging sorted runs from utility file 1
proc sort data=test_history force;
by acct score;
run;
我得到以下错误
NOTE: There were 67397829 observations read from the data set test_HISTORY.
435 ERROR: Failure while merging sorted runs from utility file 1 to final output.
436 ERROR: Failure encountered during external sort.
437 ERROR: Attempt to communicate with server AMDAHL refused by server. The current request failed.
438 NOTE: The SAS System stopped processing this step because of errors.
439 NOTE: SAS set option OBS=0 and will continue to check statements. This might cause NOTE: No observations in data set.
440 WARNING: The data set test_HISTORY may be incomplete. When this step was stopped there were 20002488 observations and 148
441 variables.
442 ERROR: The connection to server AMDAHL has been lost. The current request failed. This error may reoccur on subsequent requests.
参考此
在大型机环境中,当proc对大型数据集进行排序时,有几个选项可以降低出错的概率。我在下面粘贴了一个选项
此代码限制SAS代码中排序工作区的数量…将SOTWKNO选项用作全局选项或PROC排序选项。此选项确定了最大的
允许PROC sort使用的分拣工作区
options SORTWKNO=3;
proc sort test_history SORTWKNO=5;
by acct score;
run;
提供更多信息。什么是阿姆达尔?那是你的主机吗?到这一点需要多长时间?这是可复制的(即,它是否每次都发生,发生时有什么不同/相同)?这是否取决于一天中的所有时间?您的排序实用程序目录也在大型机上,还是在本地?