Utilisation des formats personnalisés dans CAS

Dans SAS Viya 3.4, lorsque vous utilisez des tables CAS et des colonnes qui accèdent à des formatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya. personnalisés , vous devez rendre ces formatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya. visibles sur le serveur CASMoteur analytique "in-memory" de SAS Viya. Il traite les données en parallèle (MPP) sur plusieurs nœuds pour offrir une puissance de calcul massive et une exécution ultra-rapide des actions.. En effet, les formatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya. définis par l'utilisateur ne sont pas directement disponibles pour un serveur CASMoteur analytique "in-memory" de SAS Viya. Il traite les données en parallèle (MPP) sur plusieurs nœuds pour offrir une puissance de calcul massive et une exécution ultra-rapide des actions.. Les catalogues SAS qui stockent des formatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya. définis par l'utilisateur doivent être convertis en une bibliothèque de formatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya. CAS et stockés dans un fichier dans une caslibEspace de stockage logique dans SAS Viya. Elle définit l’accès aux données (source physique) et leur chargement en mémoire (serveur CAS) pour permettre des analyses distribuées haute performance.. Et, pour que tous les utilisateurs puissent accéder à une bibliothèque au format CAS, celle-ci doit être promue dans un caslibEspace de stockage logique dans SAS Viya. Elle définit l’accès aux données (source physique) et leur chargement en mémoire (serveur CAS) pour permettre des analyses distribuées haute performance. global. Si vous ne rendez pas accessible vos formatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya. personnalisés dans CAS, vous obtiendrez une erreur de type  The format could not be loaded in 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. (TKCASDAL_FORMAT_NOT_LOADED) Les étapes présentées dans cet article sont disponibles dans la documentation SAS Managing User-Defined FormatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya. in SAS Viya  - Additional User-Defined Format Tasks for SAS Viya 3.4  La première étape consiste à vérifier que votre fichier de format est bien disponible dans le répertoire /opt/sas/viya/config/data/cas/default/formatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya. du serveur CAS Controller.  Ce répertoire correspond à la caslibEspace de stockage logique dans SAS Viya. Elle définit l’accès aux données (source physique) et leur chargement en mémoire (serveur CAS) pour permettre des analyses distribuées haute performance. global FormatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya. : mon-format-custom-cas  

Modification des scripts de démarrage de CAS

Avec SAS Viya 3.4, le serveur CASMoteur analytique "in-memory" de SAS Viya. Il traite les données en parallèle (MPP) sur plusieurs nœuds pour offrir une puissance de calcul massive et une exécution ultra-rapide des actions. utilise des scripts de démarrage pour renseigner une bibliothèque de formatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya. caslibEspace de stockage logique dans SAS Viya. Elle définit l’accès aux données (source physique) et leur chargement en mémoire (serveur CAS) pour permettre des analyses distribuées haute performance. initiale et CAS. Les scripts de démarrage Casstartup.lua et  Casstartup_usermods.lua (dans /opt/sas/viya/config/etc/cas/default) sont exécutés avant que le serveur CASMoteur analytique "in-memory" de SAS Viya. Il traite les données en parallèle (MPP) sur plusieurs nœuds pour offrir une puissance de calcul massive et une exécution ultra-rapide des actions. accepte une connexion client. Le fichier casstartup.lua contient l'action addFmtLib par défaut. Il contient également l'action setServOpt utilisée pour établir la liste de recherche de format par laquelle débute chaque sessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya.. Par défaut, seul les formatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya. sassuppliedformats est défini : casstartup-cas CAS traite le fichier casstartup.lua avant tous les autres fichiers de démarrage puis recherche toutes les bibliothèquesPointeurs logiques (Libref) reliant SAS Viya à des sources de données physiques (dossiers, bases de données, CAS) pour lire, écrire et organiser les tables de manière structurée. de formatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya. spécifiées dans le fichier casstartup_usermods.lua. Il faut donc modifier le ffichier casstartup_usermods.lua en ajoutant les actions  addFmtLib et setServOpt  pour indiquer à CAS de charger le format personnalisé monformat :
1
2
3
4
s:sessionProp_addFmtLib{caslib="Formats",fmtLibName="monformat",name="monformat.sashdat",promote=true}
newFmtSearch = " monformat"
newFmtSearch = ((cas.fmtsearch or "") .. " " .. newFmtSearch)
s:configuration_setServOpt{fmtsearch=newFmtSearch}
Une fois ces lignes ajoutées, il faut redémarrer le CAS CONTROLLER. une analyse de log permet de vérifier le bon chargement du formatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya. dans CAS : action sessionProp.promoteFmtLib / fmtLibName='monformat', table='monformat', caslibEspace de stockage logique dans SAS Viya. Elle définit l’accès aux données (source physique) et leur chargement en mémoire (serveur CAS) pour permettre des analyses distribuées haute performance.='FormatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya.'; action configuration.setServOpt / fmtsearch=' SASSuppliedFormats monforma '; action sessionProp.addFmtLib / fmtLibName='monformat', name='monformat.sashdatSASHDAT est le format de fichier propriétaire de SAS Viya optimisé pour Cloud Analytic Services (CAS). Il permet un chargement ultra-rapide des données en mémoire via un accès direct (memory-mapping).', caslibEspace de stockage logique dans SAS Viya. Elle définit l’accès aux données (source physique) et leur chargement en mémoire (serveur CAS) pour permettre des analyses distribuées haute performance.='FormatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya.', promote=true; action table.loadTableAction d'action CAS permettant de charger une table en mémoire depuis un caslib. Elle rend les données disponibles pour l'analyse analytique distribuée et le traitement haute performance. / pathUn PATH (chemin) dans SAS Viya est une caslib pointant vers un répertoire de système de fichiers local ou réseau permettant au serveur CAS d'accéder directement aux fichiers de données.='monformat.sashdatSASHDAT est le format de fichier propriétaire de SAS Viya optimisé pour Cloud Analytic Services (CAS). Il permet un chargement ultra-rapide des données en mémoire via un accès direct (memory-mapping).', readAhead=true, resident=false, caslibEspace de stockage logique dans SAS Viya. Elle définit l’accès aux données (source physique) et leur chargement en mémoire (serveur CAS) pour permettre des analyses distribuées haute performance.='FormatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya.', casOut={caslibEspace de stockage logique dans SAS Viya. Elle définit l’accès aux données (source physique) et leur chargement en mémoire (serveur CAS) pour permettre des analyses distribuées haute performance.='FormatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya.'}, singlePass=false, returnWhereInfo=true, cmpProgram=false;action sessionProp.promoteFmtLib / fmtLibName='monformat', table='monformat', caslibEspace de stockage logique dans SAS Viya. Elle définit l’accès aux données (source physique) et leur chargement en mémoire (serveur CAS) pour permettre des analyses distribuées haute performance.='FormatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya.'; action configuration.setServOpt / fmtsearch=' SASSuppliedFormats monforma '   Une fois CAS démarré, il est possible de vérifier la bonne prise en compte dans sa sessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya. en exécutant le code ci-dessous pour lister les formatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya. disponible :
1
2
3
4
proc cas;
sessionProp.listFmtLibs / showMemNames=true;
run;
quit;
  Sources : Create a New Format Library in SessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya. Scope Save a Format Library to Disk  List the Format Libraries and FormatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya. That Are Available to a SessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya.

Nicolas Housset

Passionné d'informatique, je suis Consultant et expert technique SAS VIYA, également co-fondateur de la société Flexcelite. Spécialisé dans les technologies SAS (Viya, 9.4) et les infrastructures associées (Linux, Hadoop, Azure), ce blog est mon espace pour partager mes mémos techniques et retours d'expérience.