Re: [問題] SAS讀取巨量資料問題已刪文
※ 引述《buski (......)》之銘言:
: 如果是跟統計軟體有關請重發文章,使用程式做為分類。
: 統計軟體,如SPSS, AMOS, SAS, R, STATA, Eviews,請都使用程式做為分類
: 請詳述問題內容,以利板友幫忙解答,過短文章依板規處置,請注意。
: 為避免版面混亂,請勿手動置底問題,善用E做檔案編輯
: 工作上使用SAS的 Proc Import這個指令讀取一個非常龐大的文字檔(約400 GB)
: 並轉存成SAS的資料檔。
: 居然發現兩台電腦所匯入後的資料筆數居然會不一樣,基本上兩台電腦空間都足夠。
: 一樣的程式碼,一樣的來源檔。
: 電腦A:工作站等級 INTEL 32核CPU / RAM:16GB
: 匯入之後的資料筆數是七千多萬多筆
: 電腦B: 家用桌機 AMD Ryzen 3800 / RAM:32GB
: 匯入之後的筆數是八億多筆
: 差異非常大,SAS 的LOG沒見到任何錯誤或警示訊息。 兩台都跑了三遍結果一樣。
: 匯入過程透過工作管理員去檢視記憶體使用情形,也大都在6-9GB之間,並沒有吃滿。
: 請問這是什麼問題呢?? 謝謝!
自己回應一下自己,供大家參考。 後來證實跟記憶體無關,是系統的編碼問題。
由於我的原始TXT檔是Unicode UTF-8,如果SAS系統編碼並非UTF-8的話,
就會出現Data Truncated的問題。
我後來下了這個指令:
PROC Options option=encoding; run;
赫然發現能完整讀檔的SAS ENCODING=UTF-8
另一台是 WLATIN1。 由於兩台所安裝的SAS是同一個來源,
我不知道為什麼會有這個差別?
不知道在PROC IMPORT指令下能不能告訴SAS要轉換成UTF-8。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.197.128 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1629998624.A.487.html
討論串 (同標題文章)