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

简介:

本节书摘来自华章出版社《深入解析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"
相关文章
|
12天前
|
SQL 分布式计算 监控
Sqoop数据迁移工具使用与优化技巧:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入解析Sqoop的使用、优化及面试策略。内容涵盖Sqoop基础,包括安装配置、命令行操作、与Hadoop生态集成和连接器配置。讨论数据迁移优化技巧,如数据切分、压缩编码、转换过滤及性能监控。此外,还涉及面试中对Sqoop与其他ETL工具的对比、实际项目挑战及未来发展趋势的讨论。通过代码示例展示了从MySQL到HDFS的数据迁移。本文旨在帮助读者在面试中展现Sqoop技术实力。
26 2
|
21天前
|
存储 缓存 安全
掌握Go语言:Go语言中的字典魔法,高效数据检索与应用实例解析(18)
掌握Go语言:Go语言中的字典魔法,高效数据检索与应用实例解析(18)
|
24天前
|
存储 缓存 算法
Python中collections模块的deque双端队列:深入解析与应用
在Python的`collections`模块中,`deque`(双端队列)是一个线程安全、快速添加和删除元素的双端队列数据类型。它支持从队列的两端添加和弹出元素,提供了比列表更高的效率,特别是在处理大型数据集时。本文将详细解析`deque`的原理、使用方法以及它在各种场景中的应用。
|
26天前
|
安全 Java 数据安全/隐私保护
【深入浅出Spring原理及实战】「EL表达式开发系列」深入解析SpringEL表达式理论详解与实际应用
【深入浅出Spring原理及实战】「EL表达式开发系列」深入解析SpringEL表达式理论详解与实际应用
57 1
|
30天前
|
设计模式 算法 数据安全/隐私保护
【C++ 引用 】C++深度解析:引用成员变量的初始化及其在模板编程中的应用(二)
【C++ 引用 】C++深度解析:引用成员变量的初始化及其在模板编程中的应用
25 0
【C++ 引用 】C++深度解析:引用成员变量的初始化及其在模板编程中的应用(二)
|
30天前
|
存储 算法 编译器
【C++ 引用 】C++深度解析:引用成员变量的初始化及其在模板编程中的应用(一)
【C++ 引用 】C++深度解析:引用成员变量的初始化及其在模板编程中的应用
40 0
|
2天前
|
SQL 分布式计算 资源调度
一文解析 ODPS SQL 任务优化方法原理
本文重点尝试从ODPS SQL的逻辑执行计划和Logview中的执行计划出发,分析日常数据研发过程中各种优化方法背后的原理,覆盖了部分调优方法的分析,从知道怎么优化,到为什么这样优化,以及还能怎样优化。
|
2天前
|
Java
并发编程之线程池的应用以及一些小细节的详细解析
并发编程之线程池的应用以及一些小细节的详细解析
16 0
|
2天前
|
算法 Java 测试技术
深入解析白盒测试:提升软件质量与效率的关键
【4月更文挑战第22天】 在软件开发的复杂多变的世界中,保证代码质量和功能的正确性是至关重要的。白盒测试作为一种重要的软件测试方法,提供了一种透视软件内部逻辑结构的途径。本文将详细探讨白盒测试的概念、技术手段和实际应用,旨在帮助读者理解如何通过这种测试提高软件系统的稳定性和性能。文章还将讨论白盒测试中面临的挑战以及应对策略,以期为软件质量保证提供实用的指导。
12 2
|
6天前
|
人工智能 搜索推荐 数据挖掘
人事管理软件全解析:高效团队管理的必备利器
这篇文章介绍了六款知名的人力资源管理系统:Zoho People、SAP SuccessFactors、Workday、Zenefits、BambooHR和TalentSoft。Zoho People以其全面功能和定制化能力脱颖而出,包括一站式人事流程管理、深度集成和定制工作流。SAP SuccessFactors侧重人才管理,提供学习和绩效管理解决方案,但成本较高。Workday强调一体化HR平台和数据分析,适合大型企业。Zenefits专为中小企业设计,自动化HR流程和合规提醒是其亮点。BambooHR以其用户友好界面和精细化招聘管理受到青睐。
17 0

推荐镜像

更多