热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

《深入解析sas:数据处理、分析优化与商业应用》一1.2启动SAS软件

本节书摘来自华章出版社《深入解析sas:数据处理、分析优化与商业应用》一书中的第1章,第1.2节,作者夏坤庄徐唯潘红莲林建伟,

本节书摘来自华章出版社《深入解析sas:数据处理、分析优化与商业应用》一书中的第1章,第1.2节,作者 夏坤庄 徐唯 潘红莲 林建伟,更多章节内容可以访问云栖社区“华章计算机”公众号查看

1.2 启动SAS软件

SAS有多种运行模式:SAS窗口环境模式、非交互式模式、批处理模式及交互式行模式,下面会一一介绍。除了上面提到的4种模式外,SAS还可运行在对象服务器模式里, SAS元数据服务器、工作区服务器、存储过程服务器和OLAP服务器都是属于这种模式。关于这些服务器,在本书第四篇会进行讨论。

1.2.1 SAS窗口环境模式

SAS窗口环境是SAS提供的一种交互式图形界面,是在Windows环境下使用SAS编辑或提交SAS程序语句最方便也是最常用的模式。在SAS窗口环境中,用户可以通过程序编辑器编辑并提交SAS语句,程序语句的执行状态、执行时间等日志信息及put语句的输出会显示在日志窗口,同时还会提供在线帮助等。本章下一节会使用Windows环境下的窗口环境作为示例,详细介绍SAS窗口环境的各个窗口功能及其使用。
在Windows环境下启动SAS窗口环境和启动其他Windows应用程序一样有多种方式,可通过“开始”菜单里的快捷方式、命令行等方式进行。在安装SAS软件时,SAS软件安装程序会提示选择要安装的SAS语言版本。如果当前操作环境下安装了多种语言的SAS,英文的SAS可以通过“开始”“程序”SASSAS 9.4 (English) 启动。启动所有语言(包括英文)的SAS软件时,其快捷方式位于“开始”“程序”SASAdditional Languages中。例如,启动Windows操作环境下简体中文SAS软件的快捷方式为:“开始”“程序”SASAdditional LanguagesSAS 9.4 (Chinese (Simplified)),如图1.1所示。
此外,还可以使用命令行方式启动SAS窗口环境。在下面给出的Windows和UNIX操作环境下的命令后,都可以指定其他系统选项来定制要启动的SAS会话。例如,选项-NODATE表示在该SAS会话中产生的输出页面里不显示日期,选项-CONFIG指定SAS配置文件,以在启动时加载配置文件中更多的系统选项等。
Windows环境

C:\>"C:\Program Files\SASHome\SASFoundation\9.4\sas.exe"

UNIX环境

#/opt/SASHome/SASFoundation/9.4/sas -dms

UNIX环境下的命令行若不加选项-DMS,则会进入SAS的显示管理系统。当使用Windows机器通过Telnet远程登录SAS软件所在的UNIX主机时,如果需要使用SAS窗口环境,可以在该Windows机器上启动X-Windows软件,例如Exceed、XMing、Cygwin等,并设置当前Telnet会话的DISPLAY环境变量到该Windows机器上。这样,所启动的SAS窗口环境会重定向到该Windows操作系统。当启动SAS的显示管理系统时,在该Windows环境下会弹出类似的SAS窗口环境。在初次使用X-Windows窗口时会有些不习惯,有些操作与Windows环境下的SAS窗口稍有差异,但大部分都很类似。
image

在UNIX环境下,更多使用的是非交互模式或批处理模式,或者其他的工具。例如,可使用Windows环境下的客户端程序SAS Enterprise Guide将SAS代码提交到UNIX服务器上。

1.2.2 非交互模式

很多情况下,SAS程序保存在外部操作系统文件中,这时可以在不启动SAS窗口环境的情况下非交互式地提交该文件。使用非交互模式执行保存在外部文件中的SAS程序语句时,SAS会打开该文件,执行该文件中的程序,并将日志和输出根据操作环境写入指定文件中。当该文件中的SAS程序执行完成时,SAS自动退出。下面是非交互模式下使用SAS执行外部文件中的SAS程序语句示例。
在Windows环境下的示例如下:

C:\>"C:\Program Files\SASHome\SASFoundation\9.4\sas.exe" -sysin
C:\sas\code\test.sas –log C:\sas\logs\test.log -print
C:\sas\lst/test.lst

在UNIX环境下的示例如下:

#/opt/SASHome/SASFoundation/9.4/sas –sysin /opt/sas/code/test.sas –log /opt/sas/logs/test.log -print /opt/sas/lst/test.lst

选项“-sysin”指定SAS程序语句所在的文件。当要执行的SAS程序语句文件紧接着sas命令时,该选项可省略。“-log”指定输出日志文件,“-print”指定执行输出文件。

1.2.3 批处理模式

在支持批处理或后台执行的操作环境下,SAS还可运行在批处理模式中。用户可以将上面的一个或多个非交互模式中的命令写入批处理脚本,并保存在批处理.bat(Windows环境下)或.sh(UNIX环境)文件中,然后提交该批处理文件执行。当以批处理模式提交SAS作业时,会生成两个文件,它们分别包含该作业执行的SAS日志和输出。
下面给出UNIX下的.sh文件内容,该批处理文件提交了两个SAS程序执行test.sas和test2.sas。Windows环境下类似,但必须使用相应的脚本语法。

#!/bin/sh
cd /opt/sas
/opt/SASHome/SASFoundation/9.4/sas /opt/sas/code/test.sas -log /opt/sas/logs/test.log -print /opt/sas/lst/test.lst &
wait
Sleep 15
/opt/SASHome/SASFoundation/9.4/sas /opt/sas/code/test2.sas -log /opt/sas/logs/test2.log -print /opt/sas/lst/test2.lst &
wait

当使用调度软件或操作系统调度命令对SAS作业进行预定执行时,通常使用该模式。这样可以让执行时间较长的SAS作业在晚间或其他预定时间执行,或根据业务需要定期自动执行。下面给出了在Windows和UNIX环境下使用操作系统计划或预定功能批处理执行的示例。在SAS商业智能解决方案中这种模式也经常使用,SAS智能平台也提供了与第三方调度软件和操作系统调度服务的集成。
1.?Windows环境
使用Windows提供的任务计划程序,依次选择“开始”“所有程序”“附件”“系统工具”“任务计划程序”,并指定任务要执行的操作脚本为上面提到的批处理文件。如图1.2所示为在Windows“任务计划程序”中预定为在每天00:30:00执行的SAS作业,所设定操作的启动程序为包含SAS命令的.bat文件。
2.?UNIX环境
使用crontab命令预定上面提到的批处理文件。下面的crontab文件内容给出了预定在每天凌晨00:30:00执行批处理文件sasjob.sh中的作业。

30 00 * * * /bin/ksh /opt/sas/scheduler/sasjob.sh > /opt/sas/scheduler/sasjob.log 2>&1

image

1.2.4 交互式行模式

该模式在UNIX操作系统中可用,是一种较少使用的模式。但作为SAS支持的启动模式,在这里也简单地介绍一下。在交互行模式下,顺序地输入程序语句,所输入的DATA步或PROC步当遇到RUN、QUIT、分号、另一个DATA步或PROC步,或者ENDSAS语句时会提交执行。同时随着DATA步或PROC步的提交,这些程序语句的日志和输出(如果有输出的)也会立即显示。可使用NODMS或NODMSEXP系统选项启动交互式行命令模式的SAS会话。使用NODMS选项的命令示例如下:

#/opt/SASHome/SASFoundation/9.4/sas –nodms

后面还可以接其他系统选项或使用-CONFIG选项指定SAS配置文件。按EOF键(Ctrl+D组合键)或提交ENDSAS语句将结束交互式行命令模式的SAS会话。示例如下:
5? endsas;

1.2.5 配置文件和AUTOEXEC文件

使用上述任何一种模式启动SAS时,都可以通过定义配置文件和AUTOEXEC文件来定制SAS会话。在这两个文件中可以指定系统选项和任何时候启动SAS会话时自动执行的SAS语句。SAS系统选项控制SAS会话的许多方面,包括输出目的地、程序执行效率及SAS文件和逻辑库的属性等。
SAS配置文件的名称为sasv9.cfg,AUTOEXEC文件的名称为auoexec.sas,这些文件通常都位于SAS的安装根目录下。在多语言安装环境中,SAS根目录下的nls目录中还包括各种语言适用的SAS配置文件所在目录,例如en是英文、zh是简体中文、zt是繁体中文。启动SAS时如果不指定配置文件,在Windows操作环境下,SAS会去查找SAS安装根目录下的sasv9.cfg文件。通过Windows“开始”菜单启动各种语言的SAS软件时,SAS会自动调用对应语言的配置文件。而在UNIX操作环境中,SAS启动时所使用的配置文件是在启动SAS的文件中指定的。
有时,也会需要定制SAS启动时的配置文件。一个比较实际的例子就是,在很多商业项目中,不希望SAS使用其默认的临时逻辑库(逻辑库的知识会在后面介绍)WORK,而是希望将临时逻辑库WORK建立在一个高速存储系统中,以提高SAS对某些常用操作的效率,这时就可以在配置文件中指定临时WORK的物理位置。
在Windows环境下使用定制的配置文件sasv9_custom.cfg的示例如下。在该示例中,假定该文件位于目录C:Program FilesSASHomeSASFoundation9.4下(在UNIX环境下类似)。

C:\> "C:\Program Files\SASHome\SASFoundation\9.4\sas.exe" -config
"C:\Program Files\SASHome\SASFoundation\9.4\sasv9_custom.cfg"

系统选项AUTOEXEC用于指定AUTOEXEC文件。AUTOEXEC文件包含启动SAS或其他SAS进程时自动执行的SAS语句,例如该文件可包含一些定义在SAS会话中的经常使用的SAS逻辑库的LIBNAME语句。
SAS启动时,如果没有指定AUTOEXEC或NOAUTOEXEC选项,SAS会在当前目录、用户目录和SAS安装根目录下查找AUTOEXEC文件。可以在启动SAS的命令行里指定AUTOEXEC选项,还可以通过SASV9_OPTIONS环境变量将该选项放入配置文件里。
在Windows环境下通过命令行指定autoexec文件autoexec_custom.sas的示例如下。在该示例中,假定该文件位于目录C:Program FilesSASHomeSASFoundation9.4下(在UNIX环境下类似)。

C:\> "C:\Program Files\SASHome\SASFoundation\9.4\sas.exe" -AUTOEXEC "C:\Program Files\SASHome\SASFoundation\9.4\autoexec_custom.sas"



推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • PHP引用的概念和用法详解
    本文详细介绍了PHP中引用的概念和用法。引用是指不同的变量名访问同一个变量内容,类似于Unix文件系统中的hardlink。文章从引用的定义、作用、语法和注意事项等方面进行了解释和示例。同时还介绍了对未定义变量使用引用的情况,以及在函数和new运算符中使用引用的注意事项。 ... [详细]
  • 【重识云原生】第四章云网络4.8.3.2节——Open vSwitch工作原理详解
    2OpenvSwitch架构2.1OVS整体架构ovs-vswitchd:守护程序,实现交换功能,和Linux内核兼容模块一起,实现基于流的交换flow-basedswitchin ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • 由于同源策略的限制,满足同源的脚本才可以获取资源。虽然这样有助于保障网络安全,但另一方面也限制了资源的使用。那么如何实现跨域呢,以下是实现跨域的一些方法。 ... [详细]
  • Answer:Theterm“backslash”isonofthemostincorrectlyusedtermsincomputing.People ... [详细]
  • SQL Server 2008 到底需要使用哪些端口?
    SQLServer2008到底需要使用哪些端口?-下面就来介绍下SQLServer2008中使用的端口有哪些:  首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果 ... [详细]
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • linux服务器时间同步失败解决方法
    linux服务器时间同步失败解决方法1、为什么会时间不同步:①计算机的时间是根据电脑晶振以固定频率震荡而产生的,由于晶振的不同或者老化,会 ... [详细]
  • tomcat的log文件夹下有以下几种日志:1、catalina.YYYY-MM-DD.logcatalina引擎输出的日志;catalina是tomc ... [详细]
author-avatar
手机用户2502858383_827
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有