Jak spustit kód SAS v Linuxu

Většina odpovědí na tuto otázku předpokládá, že SAS už máte a chcete ho jen bez rozhraní. Tahle je pro ten druhý případ: programy existují, licence ne, a úloha musí dnes v noci na serveru stejně proběhnout.

Stručná odpověď

Jenner je jediná binárka. Nahrajte ji na server, namiřte ji na soubor .sas a spustí se — bez grafického rozhraní, bez displeje, bez licenčního serveru, na který je třeba dosáhnout, a bez čehokoli, co by se při startu rezervovalo. Při selhání programu skončí nenulovou hodnotou, a právě to plánovač skutečně zajímá. Pokud ještě porovnáváte, otázky níže pojmenovávají každou cestu, kterou uživatel Linuxu má — včetně těch, které nejsme my.

Postaveno pro to, jak se práce v Linuxu opravdu spouští

Volejte ji z cronu, z systemd timeru, z úlohy Airflow, z jobu GitHub Actions nebo zevnitř kontejneru. Čte ze standardního vstupu (stdin) a zapisuje na standardní výstup (stdout) a do logu, takže se skládá s nástroji, které už na stroji jsou, místo aby vyžadovala sezení.

Co běží v Linuxu

Jenner je kompatibilní se SAS: jazyk, ve kterém jsou vaše programy už napsané, spouštěný na serveru se stejnými názvy příkazů a voleb, které používáte dnes.

Kroky DATA, PROC SQL a makra

Jádro jazyka běží tak, jak bylo napsáno — logika kroku DATA, pole, formáty a informáty, makro aparát a PROC SQL. Kód napsaný proti syntaxi SAS 9.4 nepotřebuje fázi portování.

Procedury: 100

Regrese a lineární modely, analýza přežití, vícerozměrné metody a shluková analýza, časové řady, řízení kvality, souhrny a reporting. Každá procedura má zveřejněnou referenční stránku, takže závislosti naplánované úlohy lze ověřit dřív, než se naplánuje.

Soubory, které už na serveru jsou

Jenner čte a zapisuje soubory SAS7BDAT a XPT přímo, vedle CSV a Parquet. Datové sady na připojeném svazku nebo v objektovém úložišti není třeba převádět a výstup lze zapsat zpět ve formátu, který očekává navazující úloha.

Tentýž program, který napsal analytik

Tentýž zdrojový kód běží v Linuxu, macOS i Windows. Program vyvinutý na něčím notebooku tu běží beze změny jako naplánovaná úloha, což odstraňuje přepis, který jinak stojí mezi analýzou a produkcí.

Výsledky, které můžete doložit

Jenner uspěje u všech 58 datových sad v benchmarku NIST Statistical Reference Datasets, obvyklé nezávislé sadě pro přesnost statistického softwaru. Reference procedur je zveřejněna v plném rozsahu, takže tvrzení, že je konkrétní PROC podporována, lze ověřit dřív, než ji dáte do pipeline.

Časté dotazy

Nainstalujte binárku Jenneru a spusťte ji na soubor. Je to nezávislá implementace jazyka SAS, takže spouští programy .sas přímo v Linuxu bez přítomného SAS a bez licence SAS. Nic se předem nepřevádí.

Ano. Linux je platforma podporovaná SAS 9.4, takže nejde o problém platformy jako u Apple silicon. Překážkou je licence a na serveru obvykle i licenční server: stroj, který na něj nedosáhne, nespustí nic.

Ano. Není tu grafické rozhraní ani nic, co by chtělo displej. Je to běžný program příkazové řádky, a právě to ho dělá použitelným na stroji, na který se dostanete jen přes SSH.

Ne. Jenner je implementace jazyka SAS metodou clean room a nevkládá, neobaluje ani nevolá software SAS. Není co obnovovat a není licenční server, vůči kterému by úloha mohla ve dvě ráno selhat.

Zkopírujte binárku do obrazu a volejte ji jako entrypoint nebo z vlastního skriptu. Ke startu nepotřebuje démona, displej ani síťové volání, takže kontejner, který ji spouští, je tak malý a reprodukovatelný jako zvolený základní obraz.

Ano, a je to častý důvod, proč sem lidé přicházejí. Protože jde o jedinou binárku se smysluplným návratovým kódem, může úloha CI spustit program .sas jako krok buildu a nechat pipeline selhat, když program selže. Plánování z cronu, systemd timeru nebo Airflow funguje stejně.

Ano. Program, který selže, skončí nenulovou hodnotou, takže cronová pošta, systemd unit nebo krok pipeline vidí selhání místo čistého běhu s chybou pohřbenou v logu. Vyplatí se to ověřit u všeho, co zavádíte: log plný červené a návratový kód nula je způsob, jakým noční selhání zůstávají neviditelná.

To je záměr. Tentýž zdrojový kód běží v Linuxu, macOS i Windows, takže soubor analytika a soubor naplánované úlohy jsou tentýž soubor. Pokrytí není celý jazyk, takže poctivý způsob, jak to pro váš kód potvrdit, je spustit ho na obou místech a porovnat logy.

Také Altair SLC spouští programy v jazyce SAS bez licence SAS, včetně Linuxu, a dělá to podstatně déle než my. Pro serverový park, kde už na cizí hraniční případ narazili a vyřešili ho, má taková zkušenost reálnou cenu. Porovnejte obojí. Siemens jej nyní prodává jako Rapidminer SLC, takže se vyplatí hledat pod oběma názvy.

Často ano, a na serveru je to lákavější než jinde, protože okolní nástroje už Python jsou. Pokud je kódu SAS málo, nebo tým od SAS stejně odchází, přepište ho. Argument pro jeho spouštění tak, jak je, je nejsilnější, když je ho hodně, je validovaný a přepsání znamená znovu validovat, ne jen znovu naprogramovat.

Spouštějte své programy SAS na svých linuxových serverech

Jedna binárka, žádný licenční server a návratový kód, kterému váš plánovač může věřit.

Začít zkušební období zdarma