Μια εναλλακτική του SAS Viya για φιλοξενούμενη εργασία

Όποιος ψάχνει εναλλακτική του Viya συνήθως δεν ψάχνει κάτι για να εγκαταστήσει σε φορητό. Έχει εργασία σε γλώσσα SAS που τρέχει κάπου κεντρικά — έναν browser όπου κάποιος συνδέεται, ή ένα pipeline που καλεί μια πλατφόρμα και περιμένει αποτελέσματα. Το Jenner καλύπτει και τα δύο: έναν φιλοξενούμενο χώρο εργασίας JupyterLab και ένα άκρο HTTP που εκτελεί ένα πρόγραμμα και επιστρέφει την έξοδό του.

Η σύντομη απάντηση

Το Jenner είναι μια υλοποίηση καθαρού δωματίου της γλώσσας SAS 9.4, γραμμένη σε Rust, και είναι φιλοξενούμενη. Η ομάδα σας συνδέεται σε έναν χώρο εργασίας JupyterLab μέσα στον browser, ανοίγει ένα πρόγραμμα που ήδη έχει και το εκτελεί — τίποτα δεν εγκαθίσταται σε κανένα μηχάνημα και σε καμία στρώση δεν χρειάζεται άδεια SAS. Η ίδια μηχανή απαντά και μέσω HTTP, ώστε μια προγραμματισμένη εργασία ή ένας πράκτορας τεχνητής νοημοσύνης να στέλνει ένα πρόγραμμα και να διαβάζει πίσω το log, την εκτύπωση και τα σύνολα δεδομένων που παρήγαγε η εκτέλεση.

Ποιος συνδέεται και τι τρέχει

Ο χώρος εργασίας είναι κοινός: αναλυτής, ελεγκτής και στατιστικός δουλεύουν πάνω στα ίδια αρχεία αντί να ανταλλάσσουν σύνολα δεδομένων. Τα προγράμματα μένουν σε σύνταξη SAS — βήματα DATA, PROC SQL, η γλώσσα μακροεντολών — και ο χώρος εργασίας διαβάζει SAS7BDAT και XPT απευθείας, μαζί με CSV και Parquet. Εκεί που ένα φορητό είναι όντως το σωστό μέρος για ένα κομμάτι της δουλειάς, η ίδια μηχανή υπάρχει ως εγγενής εφαρμογή Mac: το φιλοξενούμενο και το τοπικό δεν αποκλείονται.

Τι δίνει η φιλοξενούμενη πλευρά

Τρεις δρόμοι προς μία μηχανή. Ποιον θα διαλέξετε είναι θέμα ανάπτυξης, όχι ξαναγραψίματος.

Ένας χώρος εργασίας JupyterLab στον browser

Η σύνδεση σας αφήνει μέσα στο JupyterLab, με τα αρχεία του οργανισμού σας και έναν πυρήνα Jenner ήδη συνδεδεμένο. Τίποτα δεν εγκαθίσταται σε κανένα μηχάνημα, και συνήθως εκεί ακριβώς είναι το νόημα: ένας νέος συνάδελφος αποκτά λειτουργικό περιβάλλον από μία καρτέλα του browser, και ένα κλειδωμένο εταιρικό φορητό είναι εξίσου καλός πελάτης με έναν σταθμό εργασίας.

Προγράμματα που εκτελούνται μέσω HTTP

Η μηχανή απαντά και σε αιτήματα HTTP. Στείλτε ένα πρόγραμμα και τις εισόδους του και πάρτε πίσω την εκτύπωση, το log, έναν κωδικό εξόδου και κάθε σύνολο δεδομένων που παρήγαγε η εκτέλεση, σε δομημένο JSON. Αυτό είναι που την κάνει χρήσιμη από έναν ενορχηστρωτή, μια εργασία συνεχούς ενσωμάτωσης ή έναν πράκτορα τεχνητής νοημοσύνης — κανένας τους δεν μπορεί να κάθεται μπροστά σε διαδραστική συνεδρία περιμένοντας άνθρωπο να κάνει κλικ.

100 τεκμηριωμένες διαδικασίες

Ο κατάλογος δημοσιεύεται διαδικασία προς διαδικασία, καθεμία με σελίδα αναφοράς που ονομάζει τις εντολές και τις επιλογές που δέχεται. Σε μια φιλοξενούμενη πλατφόρμα αυτό μετράει περισσότερο από έναν αριθμό τίτλου: πριν μετακινηθεί ένα φορτίο, το ερώτημα είναι αν αυτή ακριβώς η PROC, με αυτές ακριβώς τις επιλογές, υπάρχει — και κρίνεται με ανάγνωση, πριν υπογράψει κανείς οτιδήποτε.

Τα αρχεία που ήδη έχετε

Το Jenner διαβάζει SAS7BDAT απευθείας, μαζί με XPT, CSV και Parquet, και τα γράφει πίσω. Ένα σύνολο δεδομένων φτάνει στον χώρο εργασίας χωρίς προηγούμενο βήμα μετατροπής, και η έξοδος μπορεί να φύγει στη μορφή που περιμένει το επόμενο βήμα.

Πού ταιριάζει καλύτερα κάτι άλλο

Τέσσερις καταστάσεις όπου δεν είμαστε η σωστή απάντηση. Το να ξέρετε σε ποια βρίσκεστε αξίζει περισσότερο από έναν πίνακα χαρακτηριστικών.

Altair SLC

Το Altair SLC, πρώην WPS, εκτελεί επίσης προγράμματα σε γλώσσα SAS χωρίς άδεια SAS, και το κάνει πολύ περισσότερα χρόνια από εμάς. Εκεί που το μακρύ ιστορικό μετράει για εσάς περισσότερο από έναν φιλοξενούμενο χώρο εργασίας — κάποιος άλλος έχει ήδη πέσει πάνω στην ακραία περίπτωσή σας και την έχει δει διορθωμένη — αυτό είναι πραγματικό επιχείρημα υπέρ τους, και πρέπει να κοστολογήσετε και τα δύο πάνω στα δικά σας προγράμματα.

Ξαναγράψιμο σε Python ή R

Αν η βάση κώδικα είναι μικρή, ή αν ούτως ή άλλως επρόκειτο να την ξαναχτίσετε, ξαναγράψτε την σε Python ή R. Είκοσι προγράμματα που μεταφέρονται σε pandas ή στο tidyverse είναι δύο εβδομάδες δουλειάς και κλείνουν το θέμα οριστικά, πάνω σε μια στοίβα για την οποία προσλαμβάνεις ευκολότερα. Το να τρέχει ο κώδικας σε γλώσσα SAS ως έχει κερδίζει όταν υπάρχει πολύς, όταν είναι επικυρωμένος και όταν το ξαναγράψιμο θα σήμαινε επανεπικύρωση κάθε αριθμού και όχι απλώς ξαναπληκτρολόγηση.

Να μείνετε εκεί που είστε

Η SAS περιγράφει το Viya ως πλατφόρμα με οπτικά εργαλεία και διαχείριση μοντέλων πάνω από τη γλώσσα. Αν όσοι το χρησιμοποιούν δουλεύουν μέσα σε αυτές τις διεπαφές και όχι σε κώδικα, μια μηχανή γλώσσας SAS αντικαθιστά το λάθος μισό από αυτό που αγγίζουν, και η μετακίνησή τους κοστίζει περισσότερο απ' όσο αποδίδει. Οι ομάδες των οποίων η χρήση είναι προγράμματα — βήματα DATA, διαδικασίες, μακροεντολές — είναι εκείνες για τις οποίες γράφτηκε αυτή η σελίδα.

Τι δεν καλύπτουμε

Το Jenner υλοποιεί 100 τεκμηριωμένες διαδικασίες και μεγάλο μέρος της γλώσσας SAS, και κανένα από τα δύο δεν είναι το σύνολο. Όπου η δουλειά σας εξαρτάται από κάτι που δεν έχουμε φτιάξει, δεν τρέχει, και το μαθαίνετε το πρώτο απόγευμα αντί μετά από ένα έργο. Είμαστε επίσης νεότεροι από τις εναλλακτικές που αναφέρονται εδώ, με λιγότερα χρόνια ξένων ακραίων περιπτώσεων πίσω μας. Η αναφορά διαδικασιών δημοσιεύεται ολόκληρη, ώστε η κάλυψη να ελέγχεται πριν δεσμευτεί οτιδήποτε.

Συχνές ερωτήσεις

Το Jenner, αν αυτό για το οποίο πραγματικά χρησιμοποιείτε το Viya είναι η εκτέλεση προγραμμάτων σε γλώσσα SAS. Είναι μια υλοποίηση καθαρού δωματίου της γλώσσας SAS 9.4 γραμμένη σε Rust, φιλοξενούμενη ως χώρος εργασίας JupyterLab όπου συνδέεται η ομάδα σας, και προσβάσιμη μέσω HTTP για ό,τι είναι αυτοματοποιημένο. Δεν χρειάζεται άδεια SAS σε καμία στρώση. Αν η χρήση σας είναι κυρίως με κλικ αντί για κώδικα, η παραπάνω ενότητα για το να μείνετε εκεί που είστε είναι η πιο τίμια απάντηση.

Τα προγράμματα, ναι. Βήματα DATA, PROC SQL, η γλώσσα μακροεντολών και 100 τεκμηριωμένες διαδικασίες τρέχουν στο Jenner χωρίς λογισμικό SAS από κάτω, επειδή πρόκειται για ανεξάρτητη υλοποίηση και όχι για κέλυφος που καλεί κάτι άλλο. Αυτό που δεν μεταφέρεται είναι ό,τι δεν είναι πρόγραμμα: περιεχόμενο που συναρμολογήθηκε σε διεπαφή με κλικ δεν είναι κώδικας σε γλώσσα SAS, άρα δεν υπάρχει τίποτα να εκτελέσει μια μηχανή.

Είναι φιλοξενούμενο, και εκεί βρίσκεται η επικάλυψη. Παίρνετε έναν χώρο εργασίας στον browser όπου το JupyterLab τρέχει σε container που λειτουργούμε εμείς, κοινό για τον οργανισμό, συν μια διαδρομή HTTP για εργασίες και πράκτορες. Είναι κάτι μικρότερο από μια πλήρη αναλυτική σουίτα — μια μηχανή και ένας τόπος να την τρέξετε, όχι κατάλογος εφαρμογών. Για ομάδα της οποίας η δουλειά είναι προγράμματα SAS, αυτό είναι συνήθως το μισό που σηκώνει το βάρος.

Έρχονται μαζί σας. Το Jenner διαβάζει SAS7BDAT απευθείας, μαζί με XPT, CSV και Parquet, και τα γράφει πίσω: ένα σύνολο δεδομένων προσγειώνεται στον χώρο εργασίας χωρίς βήμα μετατροπής και τα αποτελέσματα φεύγουν στη μορφή που περιμένει ένας συνάδελφος. Αυτό είναι επίσης που κάνει εφικτή τη μετακίνηση ενός φορτίου τη φορά, αντί για ένα σαββατοκύριακο μετάβασης που κανείς δεν θέλει να αναλάβει.

Ναι — αυτή είναι η διαδρομή HTTP, και δεν χρειάζεται browser καθόλου. Ένας χρονοπρογραμματιστής, μια εργασία συνεχούς ενσωμάτωσης ή ένας πράκτορας στέλνει το πρόγραμμα και τις εισόδους του και λαμβάνει την εκτύπωση, το log, έναν κωδικό εξόδου και τα σύνολα δεδομένων σε JSON, χωρίς να μένει ανοιχτή καμία συνεδρία ενδιάμεσα. Είναι η ίδια μηχανή που τρέχει ο χώρος εργασίας, οπότε το πρόγραμμα που έγραψε κάποιος διαδραστικά είναι το πρόγραμμα που εκτελεί το pipeline.

Πάρτε μία αναφορά της οποίας την έξοδο θα αναγνωρίζατε με μια ματιά, τρέξτε την στον χώρο εργασίας και συγκρίνετε τα δύο σύνολα εξόδου με PROC COMPARE, μέχρι την ανοχή που θέτετε εσείς. Μέσα στον χώρο εργασίας είναι μια φθηνή αξιολόγηση — τίποτα να εγκαταστήσετε και τίποτα να προμηθευτείτε πρώτα — και αυτό που παράγει είναι τεκμήριο για τους δικούς σας αριθμούς, όχι ισχυρισμός για τους δικούς μας. Αποθηκευμένη ως notebook, η σύγκριση είναι και το τεκμήριο που θα διαβάσει ένας ελεγκτής επικύρωσης μήνες αργότερα.

Το Altair SLC εκτελεί επίσης προγράμματα σε γλώσσα SAS χωρίς άδεια SAS, και το κάνει πολύ πριν από εμάς. Εκεί που το μακρύ ιστορικό μετράει περισσότερο από έναν χώρο εργασίας στον browser, ζητήστε τους προσφορά και περάστε και τα δύο μέσα από τα δικά σας προγράμματα αντί μέσα από τη λίστα χαρακτηριστικών του καθενός. Προτιμούμε να διαλέξετε το σωστό παρά να διαλέξετε εμάς.

Μερικές φορές ναι. Αν ο κώδικας SAS είναι λίγος, ή αν η ομάδα εγκαταλείπει ούτως ή άλλως τη γλώσσα, ένα ξαναγράψιμο σε Python ή R — pandas, tidyverse — κλείνει το ζήτημα οριστικά και σας βάζει σε στοίβα για την οποία προσλαμβάνεις ευκολότερα. Το να τρέχει ο κώδικας ως έχει κερδίζει όταν υπάρχει πολύς, όταν είναι επικυρωμένος και όταν το ξαναγράψιμο σημαίνει επανεπικύρωση κάθε αριθμού αντί για απλή ξαναπληκτρολόγηση.

Όχι, και όποιος σας λέει το αντίθετο δεν έχει μετρήσει. Η κάλυψη της γλώσσας από εμάς είναι ευρεία αλλά έχει κενά, και ένα πρόγραμμα που πέφτει σε κάποιο αποτυγχάνει καθαρά αντί σιωπηλά. Η αναφορά διαδικασιών απαριθμεί εντολή προς εντολή τι υπάρχει, και το να τρέξετε τα δικά σας προγράμματα στον χώρο εργασίας απαντά το ερώτημα για το απόθεμά σας μέσα σε ένα απόγευμα αντί για έναν κύκλο προμηθειών.

Στη δική μας υποδομή, όχι στη δική σας. Ένας φιλοξενούμενος χώρος εργασίας σημαίνει ότι τα αρχεία που βάζετε μέσα βρίσκονται σε μηχανήματα που λειτουργούμε εμείς — αυτό είναι το αντάλλαγμα για το ότι δεν έχετε τίποτα να εγκαταστήσετε και τίποτα να ενημερώσετε. Ο οργανισμός σας ελέγχει την πρόσβαση στον χώρο εργασίας, που δεν είναι το ίδιο με το να κατέχετε τον δίσκο, και η διαφορά αξίζει να λέγεται καθαρά πριν τη ζητήσει ένας έλεγχος. Όπου ένα σύνολο δεδομένων δεν επιτρέπεται να βρίσκεται σε ξένο υλικό, η ίδια μηχανή τρέχει ως εγγενής εφαρμογή Mac και ως εκτελέσιμο γραμμής εντολών στα δικά σας μηχανήματα, και τα προγράμματα δεν αλλάζουν όταν μετακινείστε.

Όχι ιδιαίτερα. Ένα notebook είναι ένα μέρος όπου πληκτρολογείτε ένα πρόγραμμα και βλέπετε το log και την έξοδο να εμφανίζονται δίπλα, δηλαδή ο βρόχος στον οποίο ήδη δουλεύετε. Τα προγράμματα μένουν σε σύνταξη SAS: αυτό που αλλάζει είναι το παράθυρο, όχι ο κώδικας — και για όποιον προτιμά να μην αγγίξει notebook, η διαδρομή HTTP και η γραμμή εντολών εκτελούν το ίδιο αρχείο .sas αυτούσιο.

Δοκιμάστε το σε ένα δικό σας πρόγραμμα

Συνδεθείτε σε έναν χώρο εργασίας από τον browser — τίποτα να εγκαταστήσετε, καμία άδεια SAS.

Ξεκινήστε δωρεάν δοκιμή