[程式] SAS運作效率與硬體配備

看板Statistics作者 (學海無涯回頭是岸)時間6年前 (2017/09/18 23:12), 編輯推噓1(109)
留言10則, 5人參與, 最新討論串1/1
雖然是軟體相關,但不知道分類有沒有選對, 錯了的話還請版友不吝告知,我會立刻修正。 我的工作內容常用到SAS做大量財務資料分析, 今天跑了一個 proc sql 的 left join,出來的資料集約1.5億筆資料, 另外要跑的資料是放在 memory-based libraries裡的, 總共花費時間是: real time 13:58.92 cpu time 14:44.85 其它硬體參考資訊: CPU I7 6700 3.4 ghz Ram 64g SSD硬碟 還有運作時的效能監測: https://goo.gl/DTTJq4 CPU只有部分跑很高,其它都沒在動。 我想請問版友,如果我想要再節省更多時間,我該朝什麼方向去想? 目前想的方向有兩個,一個是程式問題, 是該把資料拆小,分開處理完再垂直合併? 另一個是硬體問題, CPU? I/O? 不好意思因為什麼概念,還請版友賜教,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.143.197.85 ※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1505747523.A.F26.html

09/19 10:09, , 1F
這麼大的數據應該在server上分析吧。Command line too
09/19 10:09, 1F

09/19 10:09, , 2F
ls 比 套裝軟件快200倍以上。
09/19 10:09, 2F

09/19 10:27, , 3F
我是用merge statement在做left join. 你可以進commun
09/19 10:27, 3F

09/19 10:27, , 4F
ities.as a.com找 merge vs SQL left join
09/19 10:27, 4F

09/19 10:30, , 5F
SQL會做出Cartesian product. 再根據on, where裡的條
09/19 10:30, 5F

09/19 10:30, , 6F
件篩出資料。研究一下為何Cartesian product耗時間。
09/19 10:30, 6F

09/19 12:13, , 7F
hash merge
09/19 12:13, 7F

09/19 20:05, , 8F
謝謝兩位,我來研究看看。
09/19 20:05, 8F

09/24 15:06, , 9F
我會把ram改成ram disk放work 一來也可以減少ssd寫入
09/24 15:06, 9F

10/01 03:31, , 10F
這消耗cpu的task可以考慮parallel processing
10/01 03:31, 10F
文章代碼(AID): #1Pl-93yc (Statistics)