L'action `executeProgram` de l'ensemble d'actions `sparkEmbeddedProcess` permet de soumettre et d'exécuter des programmes Scala arbitraires (en texte brut ou via un fichier) directement au sein du processus SAS Embedded Process (EP) s'exécutant sur un cluster Spark. Cette fonctionnalité est cruciale pour étendre les capacités analytiques de SAS en tirant parti des API natives de Spark et du traitement distribué, tout en conservant le contrôle depuis l'environnement SAS Viya.
| Paramètre | Description |
|---|---|
| caslib | Paramètre obligatoire spécifiant la caslib qui contient les options de la source de données. Elle définit le contexte de connexion au cluster Spark via le SAS Embedded Process. |
| program | Définit le programme Scala arbitraire sous forme de chaîne de caractères à exécuter à l'intérieur de l'environnement Spark. |
| programFile | Spécifie le chemin complet et le nom d'un fichier local contenant le programme Scala arbitraire à soumettre pour exécution. |
Initialisation de la session CAS. Aucune donnée table n'est requise pour l'initialisation, mais une connexion Spark valide est nécessaire.
| 1 | cas mySession sessopts=(caslib="casuser"); |
Cet exemple montre comment envoyer une commande Scala simple (un `println`) au cluster Spark via la caslib configurée.
| 1 | |
| 2 | PROC CAS; |
| 3 | sparkEmbeddedProcess.executeProgram / caslib="SparkLib" program="println(\"Hello from SAS Viya EP\")"; |
| 4 | |
| 5 | RUN; |
| 6 |
Cet exemple illustre l'exécution d'un programme Scala complet stocké dans un fichier local sur le serveur, permettant des traitements plus complexes sans surcharger le code SAS.
| 1 | |
| 2 | PROC CAS; |
| 3 | sparkEmbeddedProcess.executeProgram / caslib="SparkLib" programFile="/opt/sas/scripts/complex_spark_job.scala"; |
| 4 | |
| 5 | RUN; |
| 6 |