Publié le :
Programmation CREATION_INTERNE

DS2

Ce code est également disponible en : Deutsch English Español
En attente de validation
Le langage DS2 s'exécute sur la plateforme SAS© Viya comme dans les versions précédentes de SAS©. Un programme DS2 qui utilise un thread DS2 s'exécute à l'aide de plusieurs threads. Lorsque votre programme DS2 threadé s'exécute sur le serveur CAS, l'exécution parallèle accélère le traitement des Big Data en exécutant le programme sur plusieurs workers CAS et en divisant la charge de travail de traitement entre les threads sur les workers. En plus d'utiliser PROC DS2 pour exécuter du code DS2, vous pouvez également utiliser l'action ds2.runDS2 via PROC CAS ou un langage tiers supporté. Vous pouvez également spécifier des instructions FedSQL dans l'instruction DS2 SET. Le jeu d'actions DS2 permet de publier et d'exécuter des modèles DATA step et DS2 sur le serveur CAS, Hadoop ou Teradata. La notation de modèles dans Hadoop peut être exécutée avec MapReduce ou le moteur Spark2. DS2 prend en charge les mêmes sources de données dans la plateforme SAS© Viya que dans SAS© 9.4, avec deux ajouts : Apache Spark et les bases de données compatibles JDBC. Vous pouvez accéder aux sources de données via le SAS© Compute Server à l'aide du logiciel SAS©/ACCESS, et depuis le serveur CAS avec les connecteurs de données SAS©. Les éléments de langage suivants ne sont pas pris en charge dans CAS (mais le sont dans une session SAS© client sur la plateforme SAS© Viya) : package SQLSTMT de DS2, fonction SQLEXEC de DS2, entrée du package HASH de DS2 à partir d'une table ou sortie vers une table (tous les autres services du package HASH de DS2 sont pris en charge sur le serveur CAS). Lorsqu'un programme DS2 s'exécute sur le serveur CAS, il n'a pas accès aux librefs créés dans le client SAS©. Seules les caslibs créées dans la session CAS sont disponibles pour le programme DS2.
Analyse des données

Type : CREATION_INTERNE


Les exemples utilisent des données générées (datalines) ou SASHELP.

1 Bloc de code
DATA STEP / PROC DS2 / PROC PRINT Data
Explication :
Cet exemple illustre une utilisation basique de DS2 sur le serveur CAS. Il crée d'abord une table 'simple_data' avec des valeurs numériques (1 à 10) à l'aide d'un bloc DATA STEP DS2. Ensuite, il utilise un second bloc DS2 pour lire cette table, effectuer une transformation simple (multiplier la colonne 'x' par 2 pour créer 'y') et générer une nouvelle table 'processed_data' dans la caslib 'casuser'. Enfin, PROC PRINT est utilisée pour afficher le contenu de la table résultante.
Copié !
1DATA casuser.simple_data;
2 dcl double x;
3 method RUN();
4 DO x = 1 to 10;
5 OUTPUT;
6 END;
7 END;
8enddata;
9 
10PROC DS2;
11DATA casuser.processed_data / overwrite=yes;
12 method RUN();
13 SET casuser.simple_data;
14 y = x * 2;
15 OUTPUT;
16 END;
17enddata;
18QUIT;
19 
20PROC PRINT DATA=casuser.processed_data;
21RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.

Documentation liée : Programmation

Sujet / Mot-cléLien vers la ressource
DOC Langage Macro fr/sampleCode/LANGAGF090
DOC DS2 fr/sampleCode/DS26657833
Banner
Le Conseil de l'Expert
Expert
Michael
Responsable de l'infrastructure Viya.
« Pour vos calculs mathématiques complexes ou vos modèles de scoring, privilégiez DS2. Sa précision numérique (support du type DECIMAL) et sa structure en méthodes permettent d'isoler la logique de calcul de la gestion des entrées/sorties, rendant vos programmes beaucoup plus performants et modulaires que dans un DATA Step classique »