Dans l'architecture SAS©® Viya™™, la gestion efficace des données repose sur un concept fondamental : la Caslib. Une Caslib est un espace en mémoire sur le serveur CAS (Cloud Analytics Services) destiné à contenir des tables, des contrôles d'accès et des informations sur les sources de données.
Cet article explore les différents types de Caslibs, leur portée (scope) et la manière de les manipuler via du code SAS©, en mettant l'accent sur les meilleures pratiques pour le chargement et le partage des données.
Qu'est-ce qu'une Caslib ?
Une Caslib agit comme un point d'accès unifié. Elle permet de connecter le serveur CAS à :
Des sources de données externes (fichiers, bases de données comme Oracle ou Hadoop).
Des tables en mémoire qui ont été chargées sur le serveur CAS.
Elle associe également des contrôles d'accès qui définissent quels groupes d'utilisateurs ou individus sont autorisés à interagir avec les données.
Les Types de Caslibs
Il existe trois catégories principales de Caslibs, définies par la manière dont elles sont créées et gérées :
1. Caslib Personnelle
Cette bibliothèque est configurée lors de l'installation du serveur CAS. Lorsqu'une session CAS est initiée, la Caslib personnelle est toujours disponible avec une portée globale pour l'utilisateur courant. Elle permet d'accéder aux tables CAS depuis n'importe quelle session utilisant le même identifiant utilisateur (ex: casuser).
2. Caslib Prédéfinie
Gérées par les administrateurs CAS, ces bibliothèques ont une portée globale. Elles sont généralement utilisées pour des sources de données populaires partagées par un large éventail d'utilisateurs (par exemple, une connexion Hadoop-Hive ou Oracle commune à toute l'équipe). L'administrateur gère les permissions d'accès.
3. Caslib Ajoutée Manuellement
Les utilisateurs autorisés peuvent ajouter des Caslibs via une instruction CASLIB (par exemple dans SAS©® Studio). C'est la méthode privilégiée pour des accès aux données ad hoc, lorsque l'utilisateur ne souhaite pas nécessairement partager les données avec l'ensemble du serveur.
La Portée des Caslibs : Session vs Global
La notion de portée (scope) est cruciale pour comprendre la visibilité et la persistance des données.
Caslib à Portée de Session (Session-Scope)
Si une Caslib est définie sans l'option GLOBAL, elle est limitée à la session en cours.
Disponibilité : Les tables chargées dans cette Caslib ne sont visibles que par la session CAS spécifique de l'utilisateur.
Persistance : Si l'utilisateur ouvre une nouvelle session, la Caslib et ses tables ne seront plus accessibles.
Exemple de code (Session-Scope) :
Le code ci-dessous crée une connexion Hive locale à la session. Notez l'absence de l'option GLOBAL et de l'option PROMOTE.
