这个问题的大多数答案都假定您已经有 SAS,只是想让它不带界面运行。这一篇是写给另一种情况的:程序在,许可证不在,而作业今晚仍然必须在服务器上跑完。
Jenner 是单个二进制文件。把它放到服务器上,指向一个 .sas 文件,它就运行——没有图形界面,不需要显示器,没有要连上的许可证服务器,启动时也没有需要签出的东西。程序失败时它以非零值退出,而这正是调度器真正在意的部分。如果您还在比较方案,下面的问题列出了 Linux 用户真正拥有的每一条路径,也包括不是我们的那些。
从 cron 调用它,从 systemd 定时器调用,从 Airflow 任务调用,从 GitHub Actions 作业调用,或者在容器内部调用。它从标准输入(stdin)读取,向标准输出(stdout)和日志文件写入,因此它与机器上已有的工具组合在一起,而不是要求一个会话。
Jenner 与 SAS 兼容:您的程序已经使用的那门语言,在服务器上以与您今天相同的语句名和选项名运行。
语言的核心按原样运行——DATA 步逻辑、数组、格式与输入格式、宏功能以及 PROC SQL。针对 SAS 9.4 语法编写的代码不需要移植步骤。
回归与线性模型、生存分析、多元方法与聚类、时间序列、质量控制、汇总与报表。每个过程都有已发布的参考页面,因此计划任务的依赖可以在排期之前核对。
Jenner 直接读写 SAS7BDAT 和 XPT,同时支持 CSV 和 Parquet。挂载卷或对象存储上的数据集无需转换,输出也可以按下游作业预期的格式写回。
同一份源代码在 Linux、macOS 和 Windows 上运行。在某人笔记本上开发的程序,在这里可以原样作为计划任务运行,这就去掉了通常横在分析与生产之间的那次重写。