iml
Description
L'action iml.iml est votre passerelle magique pour exécuter du code SAS/IML directement au sein de CAS (Cloud Analytic ServicesMoteur d'exécution in-memory de SAS Viya. Il assure le traitement massivement parallèle (MPP) et distribué des données pour optimiser les performances analytiques et le passage à l'échelle.). Parfait pour les manipulations matricielles lourdes et les algorithmes personnalisés distribués. Préparez-vous à faire chauffer les threadsUnités d'exécution parallèles au sein d'un processus CAS. Ils permettent de distribuer simultanément les calculs sur plusieurs cœurs CPU pour accélérer le traitement des données dans SAS Viya., mais gardez les mains sur le volant !
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| code | Chaîne de caractères contenant le programme SAS/IML à exécuter. C'est ici que la magie opère ! |
| display | Spécifie la liste des tables de résultats à renvoyer au client pour affichage. Idéal pour ne pas se noyer sous les données. |
| echoSource | Contrôle les informations à répercuter dans le journal (log). Valeurs possibles : 'ALL', 'NONE' ou 'PROGRAM'. |
| nthreads | Nombre de threads à utiliser sur chaque nœud (0-128). Si 0, tous les threads disponibles sont réquisitionnés pour une puissance maximale ! |
| outputTables | Liste des noms des tables de résultats à sauvegarder en tant que tables CAS sur le serveur. |
Préparation des données
Création d'une table CAS de test pour IML
Création d'une petite table de données dans CAS pour illustrer l'utilisation d'IML avec des données distribuées.
| 1 | PROC CASUTIL; |
| 2 | load DATA=sashelp.cars casout="cars" outcaslib="casuser" replace; |
| 3 | RUN; |
| 4 | QUIT; |
Exemples d'utilisation
Exécution d'un programme IML basique
Un petit 'Hello World' matriciel pour vérifier que le moteur IML tourne à plein régime sur CAS.
| 1 | PROC CAS; |
| 2 | iml.iml / code="x = {1 2, 3 4}; print 'Matrice X:', x;"; |
| 3 | RUN; |
| 4 | QUIT; |
Résultat Attendu :
Analyse IML avancée avec lecture de table CAS et sauvegarde
Ce script IML lit la table CAS 'cars', calcule la matrice de corrélation de certaines variables numériques, et sauvegarde le résultat dans une nouvelle table CAS.
| 1 | PROC CAS; |
| 2 | imlcode = " |
| 3 | call MatrixCreateFromCAS(A, 'casuser', 'cars', {'MSRP', 'Invoice', 'EngineSize', 'Cylinders', 'Horsepower', 'MPG'}); |
| 4 | corr_matrix = corr(A); |
| 5 | varNames = {'MSRP', 'Invoice', 'EngineSize', 'Cylinders', 'Horsepower', 'MPG'}; |
| 6 | call MatrixWriteToCAS(corr_matrix, 'casuser', 'cars_corr', varNames); |
| 7 | "; |
| 8 | iml.iml / code=imlcode nthreads=0 echoSource="PROGRAM"; |
| 9 | RUN; |
| 10 | QUIT; |