楼主: webgu
4118 23

如何自动编译子文件下的SAS Macro [推广有奖]

21
playmore 发表于 2013-6-21 16:55:23 |只看作者 |坛友微信交流群
zhou.wen 发表于 2013-6-21 16:46
设置共享目录,或者映射网络硬盘也是不错的选择
我的不同,跟你恰好相反。存在服务器数据库中的宏是提供 ...
嗯,你的任务比我复杂多了
我只有一台服务器可用
另外你用SAS做分布式计算有什么心得可以拿来分享吗?
我现在用32位的SAS,连一台电脑的多核都用不起来,真是惭愧啊
playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

使用道具

22
zhou.wen 发表于 2013-6-21 17:11:53 |只看作者 |坛友微信交流群
playmore 发表于 2013-6-21 16:55
嗯,你的任务比我复杂多了
我只有一台服务器可用
另外你用SAS做分布式计算有什么心得可以拿来分享吗?
...
也不算很复杂,主要的系统数据库的逻辑结构要清晰
本来我觉得像这种分布式系统任务调度模块不能用sas开发,应该用java,c#等工具,无奈我只会sas,连接数据库,写文件,运行sas程序都通过sas来实现
东西很多,也很乱,没时间整理,只能说说思路
服务器端简称Master负责jobtracker,负责作业的搜索,调度,控制,生成任务种子
客户端简称Slave负责tasktracker,负责任务的搜索,调度控制还有结果返回
sas宏代码,任务参数,评价结果都通过服务器传递
稍微讲一下细节吧
运行sas代码我通常从服务器数据库读回来,写成文件,用x命令运行
  1. x " 'C:\Program Files\SASHome\SASFoundation\9.3\sas.exe' '&sys_root\worklib\&sys_progressid\&codefile'";
复制代码
一个slave运行多个进程时,结果文件是否生成,经常要查文件的最近修改时间,可以用finfo,时间可以精确到秒
  1.                         data fileref;
  2.                         rc=filename("file","&sys_root\worklib\&sys_progressid\settings\assess.csv");
  3.                         fid=fopen('file');
  4.                         modtime=finfo(fid,foptname(fid,5));
  5.                         call symput("sys_assesstime",modtime);
  6.                         run;       
复制代码
等结果
已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
webgu + 60 + 60 + 3 + 3 + 3 精彩帖子

总评分: 经验 + 60  论坛币 + 60  学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

Practice Is The Best Teacher!

使用道具

23
webgu 发表于 2013-6-21 21:41:02 |只看作者 |坛友微信交流群
zhou.wen 发表于 2013-6-21 17:11
也不算很复杂,主要的系统数据库的逻辑结构要清晰
本来我觉得像这种分布式系统任务调度模块不能用sas开发 ...
学习了。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

使用道具

24
hs4601 发表于 2013-12-15 16:09:36 |只看作者 |坛友微信交流群
不知道。。。。。。。。。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-11 22:49