立即注册 登录
公卫人 返回首页

asteriod的个人空间 https://www.epiman.cn/?12177 [收藏] [复制] [RSS]

日志

SAS处理大型数据集的几点粗浅认识

热度 105已有 853 次阅读2010-9-2 09:52 |个人分类:sas|

随着信息技术的发展,现在的数据库也越来越大,动不动就几十兆几百兆,甚至是GB、TB级的数据。如何对这种大型数据集进行分析,SAS由于其强大的数据管理能力,可能在这种大型数据处理上有优势。

    仅就个人的一点点经验,谈几点SAS在大型数据处理中应用的看法:

    (1)数据整理过程中,尽可能的使用DATA步,而少用Proc SQL;因为同样的操作,个人感觉,使用data的效率(运行速度及其他)远远高于SQL语句。利用数据步的一些特殊选项和变量(OBS NOBS POINT END BY FIRST LAST MERGE MODIFY RETAIN OUTPUT)等,利用这些语句千变万化的应用,可以实现非常强大的数据整理功能。用这些语句的关键,是掌握SAS DATA步的编译原理,了解PDV的有关知识。

   (2)使用好数据库的索引,SAS和其他数据库一样也可以建立索引,由于我们在处理小型数据集时,很少遇到速度的问题,可能对这个了解较少。使用索引可以大大提供一些数据查询等操作的速度。(当然,有利就有弊)。

   (3)处理好“空间”和“时间”的问题:举例,如使用数据视图可以节省计算机的硬盘空间,但进行调用这个视图所花的时间要比物理性的数据集花的时间长。另一种情况,待分析数据集过于庞大时,我们又不可能把整个数据集读入,也不能太多的使用data步,产生大量临时数据。

   (4)关于宏的使用:编写程序,思路和规划是非常重要的,做好整体的规划和思路和开发一个一样程序一样,只不过在SAS里不需要提供用户界面。通过使用宏,可以把代码进行切割,成为一个个独立的功能模块,每个模块实现固定的功能,即使不太懂SAS的用户也能方便调用,大大提供了程序的可读性(整体程序,不指程序内部)。


路过

鸡蛋

鲜花
5

握手

雷人

刚表态过的朋友 (5 人)

发表评论 评论 (2 个评论)

回复 hoozoo 2010-9-8 17:10
谢谢分享经验!很实用啊!
回复 qmax 2010-11-19 19:41
需要研究sas对多核的支持。

facelist

您需要登录后才可以评论 登录 | 立即注册

手机版|会员|至尊|接种|公卫人 ( 沪ICP备06060850号-3 )

GMT+8, 2024-4-30 03:05 , Processed in 0.027976 second(s), 7 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部