En la arquitectura SAS©® Viya™™, la gestión eficiente de los datos se basa en un concepto fundamental: la Caslib. Una Caslib es un espacio en memoria en el servidor CAS (Cloud Analytics Services) destinado a contener tablas, controles de acceso e información sobre las fuentes de datos.
Este artículo explora los diferentes tipos de Caslibs, su alcance (scope) y cómo manipularlas mediante código SAS©, haciendo hincapié en las mejores prácticas para la carga y el intercambio de datos.
¿Qué es una Caslib?
Una Caslib actúa como un punto de acceso unificado. Permite conectar el servidor CAS a:
Fuentes de datos externas (archivos, bases de datos como Oracle o Hadoop).
Tablas en memoria que han sido cargadas en el servidor CAS.
También asocia controles de acceso que definen qué grupos de usuarios o individuos están autorizados a interactuar con los datos.
Los Tipos de Caslibs
Existen tres categorías principales de Caslibs, definidas por la forma en que se crean y gestionan:
1. Caslib Personal
Esta biblioteca se configura durante la instalación del servidor CAS. Cuando se inicia una sesión CAS, la Caslib personal siempre está disponible con un alcance global para el usuario actual. Permite acceder a las tablas CAS desde cualquier sesión que utilice el mismo identificador de usuario (ej: casuser).
2. Caslib Predefinida
Gestionadas por los administradores de CAS, estas bibliotecas tienen un alcance global. Se utilizan generalmente para fuentes de datos populares compartidas por una amplia gama de usuarios (por ejemplo, una conexión Hadoop-Hive u Oracle común a todo el equipo). El administrador gestiona los permisos de acceso.
3. Caslib Añadida Manualmente
Los usuarios autorizados pueden añadir Caslibs mediante una instrucción CASLIB (por ejemplo, en SAS©® Studio). Este es el método preferido para accesos a datos ad hoc, cuando el usuario no desea necesariamente compartir los datos con todo el servidor.
El Alcance de las Caslibs: Sesión vs Global
La noción de alcance (scope) es crucial para comprender la visibilidad y la persistencia de los datos.
Caslib con Alcance de Sesión (Session-Scope)
Si una Caslib se define sin la opción GLOBAL, se limita a la sesión actual.
Disponibilidad: Las tablas cargadas en esta Caslib solo son visibles para la sesión CAS específica del usuario.
Persistencia: Si el usuario abre una nueva sesión, la Caslib y sus tablas ya no serán accesibles.
Ejemplo de código (Session-Scope):
El código a continuación crea una conexión Hive local a la sesión. Tenga en cuenta la ausencia de la opción GLOBAL y de la opción PROMOTE.