Explication : Cet exemple crée une table en mémoire CAS (`mycas.datatypes_example`) et démontre la déclaration de variables avec différents types de données pris en charge par le serveur CAS (CHARACTER, VARCHAR, INT32, INT64, DOUBLE). Le DATA step est utilisé pour peupler la table. Ensuite, la procédure `PROC CASUTIL` avec l'option `CONTENTS` est utilisée pour afficher les propriétés de la table, y compris les types de données inférés par CAS, ce qui permet de vérifier comment le serveur a traité les déclarations. Cela illustre la manière dont les données sont structurées et stockées dans l'environnement CAS.
Copié !
/* Création d'une session CAS */
options casport=5570 cashost="localhost";
cas mysess;
/* Utilisation d'une bibliothèque CAS */
libname mycas cas caslib=casuser;
/* Création d'une table CAS avec divers types de données */
data mycas.datatypes_example;
length char_var $10 varchar_var varchar(20) int32_var int32 int64_var int64 double_var 8;
char_var = 'Texte';
varchar_var = 'Texte plus long';
int32_var = 12345;
int64_var = 1234567890123456789;
double_var = 123.456;
output;
run;
/* Affichage des propriétés de la table pour vérifier les types */
proc casutil incaslib='casuser' outcaslib='casuser' host='localhost';
contents casdata='datatypes_example';
run;
/* Libération de la session CAS */
cas mysess terminate;
1
/* Création d'une session CAS */
2
options casport=5570 cashost="localhost";
3
cas mysess;
4
5
/* Utilisation d'une bibliothèque CAS */
6
LIBNAME mycas cas caslib=casuser;
7
8
/* Création d'une table CAS avec divers types de données */
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.
« L'arrivée du moteur CAS (Cloud Analytic Services) marque une rupture historique avec le moteur SAS 9 traditionnel. Pour la première fois, SAS sort du carcan "Numérique/Caractère" pour offrir une granularité digne des bases de données SQL modernes.
VARCHAR vs CHARACTER : C'est la révolution majeure pour le stockage. Le type CHARACTER (fixe) réserve toujours l'espace maximum défini, même si la cellule est vide (complétion par des espaces). Le type VARCHAR (variable) ne consomme que l'espace réellement utilisé par le texte. Sur des milliards de lignes, le gain en RAM dans CAS est colossal.
La précision des entiers (INT32/INT64) : Traditionnellement, SAS stocke tout en "Double Précision" (8 octets). CAS introduit de vrais types entiers. C'est crucial pour manipuler des identifiants très longs ou des clés primaires Big Data sans risque d'arrondi, tout en optimisant les calculs arithmétiques.
La sémantique des caractères (UTF-8) : CAS traite les VARCHAR en nombre de caractères et non en octets. C'est une sécurité indispensable dans un environnement international (Viya) où un symbole peut occuper plusieurs octets.
Attention à la conversion vers le Compute Server : C'est le point de vigilance : si vous repassez vos données d'une table CAS vers un DATA Step local (moteur SAS 9), vos INT64 ou VARCHAR seront reconvertis en types standards. Pour conserver la précision et les avantages de ces nouveaux types, privilégiez l'exécution de vos traitements directement dans CAS. »
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.