Näin suoritat SAS-koodia Linuxissa

Useimmat vastaukset tähän kysymykseen olettavat, että sinulla on jo SAS ja haluat sen vain ilman käyttöliittymää. Tämä vastaus on toista tapausta varten: ohjelmat ovat olemassa, lisenssi ei ole, ja työn on silti ajettava palvelimella tänä yönä.

Lyhyt vastaus

Jenner on yksi binääri. Vie se palvelimelle, osoita se .sas-tiedostoon, ja se suoritetaan — ei graafista käyttöliittymää, ei näyttöä, ei lisenssipalvelinta tavoitettavaksi eikä mitään varattavaa käynnistyksessä. Se päättyy nollasta poikkeavaan arvoon kun ohjelma epäonnistuu, ja juuri siitä ajastin välittää. Jos vielä vertailet, alla olevat kysymykset nimeävät jokaisen reitin jonka Linux-käyttäjällä on, myös ne jotka emme ole me.

Rakennettu sille tavalle jolla Linux-työ todella ajetaan

Kutsu sitä cronista, systemd-ajastimesta, Airflow-tehtävästä, GitHub Actions -työstä tai kontin sisältä. Se lukee stdin:stä ja kirjoittaa stdoutiin ja lokitiedostoon, joten se yhdistyy koneella jo oleviin työkaluihin sen sijaan että vaatisi istunnon.

Mikä toimii Linuxissa

Jenner on SAS-yhteensopiva: se kieli jolla ohjelmasi on jo kirjoitettu, suoritettuna palvelimella samoilla lause- ja valitsinnimillä joita käytät nyt.

DATA-askeleet, PROC SQL ja makrot

Kielen ydin suoritetaan sellaisenaan — DATA-askeleen logiikka, taulukot, formaatit ja informaatit, makro-ominaisuus ja PROC SQL. SAS 9.4 -syntaksia vasten kirjoitettu koodi ei tarvitse siirtovaihetta.

100 proseduuria

Regressio ja lineaariset mallit, elinaika-analyysi, monimuuttujamenetelmät ja klusterointi, aikasarjat, laadunvalvonta, yhteenveto ja raportointi. Jokaisella proseduurilla on julkaistu viitesivu, joten ajastetun työn riippuvuudet voidaan tarkistaa ennen ajastamista.

Tiedostot jotka ovat jo palvelimella

Jenner lukee ja kirjoittaa SAS7BDAT- ja XPT-tiedostoja suoraan, CSV:n ja Parquetin ohella. Liitetyllä levyllä tai oliovarastossa olevia aineistoja ei tarvitse muuntaa, ja tuloste voidaan kirjoittaa siinä muodossa jota seuraava työ odottaa.

Sama ohjelma jonka analyytikko kirjoitti

Sama lähdekoodi toimii Linuxissa, macOS:ssä ja Windowsissa. Kannettavalla kehitetty ohjelma toimii täällä muuttumattomana ajastettuna työnä, mikä poistaa uudelleenkirjoituksen joka yleensä on analyysin ja tuotannon välissä.

Tuloksia jotka voit osoittaa

Jenner läpäisee kaikki 58 aineistoa NIST Statistical Reference Datasets -vertailussa, joka on vakiintunut riippumaton tarkkuussarja tilasto-ohjelmistoille. Proseduuriviite on julkaistu kokonaisuudessaan, joten väite tietyn PROCin tuesta on tarkistettavissa ennen kuin laitat sen putkeen.

Usein kysytyt kysymykset

Asenna Jenner-binääri ja aja se tiedostoa vasten. Se on riippumaton toteutus SAS-kielestä, joten se suorittaa .sas-ohjelmia suoraan Linuxissa ilman SASin läsnäoloa ja ilman SAS-lisenssiä. Mitään ei muunneta etukäteen.

Kyllä. Linux on SAS 9.4:n tukema alusta, joten tämä ei ole alustaongelma samalla tavalla kuin Apple silicon. Este on lisenssi, ja palvelimella usein myös lisenssipalvelin: kone joka ei tavoita sitä, ei aja.

Kyllä. Graafista käyttöliittymää ei ole eikä mitään joka haluaisi näytön. Se on tavallinen komentorivioihjelma, ja juuri se tekee siitä käyttökelpoisen koneella jolle pääset vain SSH:lla.

En. Jenner on SAS-kielen clean room -toteutus, eikä se upota, kääri tai kutsu SAS-ohjelmistoa. Ei ole lisenssiä uusittavaksi eikä lisenssipalvelinta jota vasten työ voisi epäonnistua kahdelta yöllä.

Kopioi binääri kuvaan ja kutsu sitä entrypointina tai omasta skriptistäsi. Se ei tarvitse taustaprosessia, näyttöä eikä verkkokutsua käynnistyäkseen, joten sitä ajava kontti on yhtä pieni ja toistettava kuin valitsemasi peruskuva.

Kyllä, ja tämä on yleinen syy päätyä tänne. Koska kyseessä on yksi binääri jolla on merkityksellinen paluukoodi, CI-työ voi ajaa .sas-ohjelman käännösvaiheena ja kaataa putken kun ohjelma epäonnistuu. Ajastaminen cronista, systemd-ajastimesta tai Airflowsta toimii samoin.

Kyllä. Epäonnistuva ohjelma päättyy nollasta poikkeavaan arvoon, joten cron-posti, systemd-yksikkö tai putken vaihe näkee epäonnistumisen eikä puhdasta ajoa jossa virhe on hautautunut lokiin. Tämä kannattaa tarkistaa kaikesta mitä otat käyttöön: punaista täynnä oleva loki ja nollan paluukoodi on tapa jolla yölliset epäonnistumiset pysyvät näkymättöminä.

Se on tarkoitus. Sama lähdekoodi toimii Linuxissa, macOS:ssä ja Windowsissa, joten analyytikon tiedosto ja ajastetun työn tiedosto ovat sama tiedosto. Kattavuus ei ole koko kieli, joten rehellinen tapa vahvistaa se omalle koodillesi on ajaa se molemmissa paikoissa ja verrata lokeja.

Myös Altair SLC suorittaa SAS-kielisiä ohjelmia ilman SAS-lisenssiä, Linux mukaan lukien, ja on tehnyt sitä paljon pidempään kuin me. Palvelinkannassa jossa jonkun toisen reunatapaus on jo kohdattu ja korjattu, tuo kokemus on oikeaa rahaa. Vertaile molempia. Siemens myy sitä nykyään nimellä Rapidminer SLC, joten kannattaa hakea molemmilla nimillä.

Usein pitäisi, ja palvelimella se on houkuttelevampaa kuin muualla koska ympäröivä työkalusto on jo Pythonia. Jos SAS-koodia on vähän, tai tiimi luopuu SASista muutenkin, kirjoita se uudelleen. Peruste ajaa se sellaisenaan on vahvin kun sitä on paljon, se on validoitu, ja uudelleenkirjoitus tarkoittaa uudelleenvalidointia eikä vain uudelleenkoodausta.

Suorita SAS-ohjelmasi Linux-palvelimillasi

Yksi binääri, ei lisenssipalvelinta, ja paluukoodi johon ajastimesi voi luottaa.

Aloita ilmainen kokeilu