1
我們有一個大型數據集100M行。我需要爲彙總數據彙總一些摘要。我們目前正在通過Proc SQL來做這件事。當我運行這個過程時,進程運行一段時間,然後出乎意料地,進程在工作區服務器中終止。這使EG掛起,直到它最終出錯(幾個小時後)。SAS工作區服務器意外終止
什麼可能導致這種情況?我監控盒子,我們沒有最大化資源。
如何排除故障?工作區服務器沒有生成日誌。
我們有一個大型數據集100M行。我需要爲彙總數據彙總一些摘要。我們目前正在通過Proc SQL來做這件事。當我運行這個過程時,進程運行一段時間,然後出乎意料地,進程在工作區服務器中終止。這使EG掛起,直到它最終出錯(幾個小時後)。SAS工作區服務器意外終止
什麼可能導致這種情況?我監控盒子,我們沒有最大化資源。
如何排除故障?工作區服務器沒有生成日誌。
如果這個過程是在另一個數據庫上運行,通過ODBC通過或SAS/ACCESS,跟蹤選項可能對調試有幫助(會顯示您的日誌確切正在執行什麼)
options sastrace=',,,d' sastraceloc=saslog nostsuffix;
刪除:
options sastrace=none;
關於工作區記錄 - 這可能無法打開。您可以通過SMC或手動執行此操作(請參閱this guide)。
你可以給出正在執行的代碼,你的環境等等的更多細節嗎?
另一種選擇可能是運行較少的觀測值(inobs = 100)。如果這仍然不起作用,請嘗試修改您的查詢 - 一次刪除一個表格。
您是否可以使用數據步驟完成聚合的一些初步部分? PROC SQL不會產生很多日誌,但如果您有幾個數據步驟,則可以看到事情失敗的地方。 – orh
您可以在具有幾千行的數據集上測試過程,以驗證問題是代碼還是數量?你能把你的代碼發佈到SO嗎?如果沒有看到代碼,就很難確切地知道出了什麼問題,除了像「驗證您的OPTION MEMSIZE中有足夠的RAM;總結」這樣的通用建議外。 – Joe
您也可以嘗試使用'proc summary'作爲臨時解決方法。 –