Publicado el :
Administración CREATION_INTERNE

Agregar una Caslib de ruta de sistema de archivos

Este código también está disponible en: Deutsch English Français
En espera de validación
Attention : Este código requiere privilegios de administrador.
La acción `table.addCaslib` es una acción esencial del conjunto de acciones `table` en SAS© Cloud Analytic Services (CAS). Permite registrar una nueva caslib, es decir, un nombre lógico que apunta a una fuente de datos. En el caso de una caslib de tipo 'path', se refiere a un directorio en el sistema de archivos del servidor CAS. Los parámetros clave incluyen `name` para el nombre de la caslib, `description` para una breve explicación, `dataSource` donde `srctype` se define como 'path', y `path` para la ruta absoluta del directorio en el servidor. Esta acción es fundamental para hacer que los datos sean persistentes y accesibles para las sesiones CAS para el análisis y la manipulación distribuidos.
Análisis de datos

Type : CREATION_INTERNE


Los ejemplos proporcionados utilizan rutas de sistema de archivos genéricas (`/tmp/mydata`, `/project/data`, `/cas/data/dynamic_source`, `/tmp/my_user_data`) que deben existir o ser creadas en el sistema de archivos del servidor CAS. El ejemplo avanzado también utiliza una tabla SASHELP (`CARS`) para la demostración de carga de datos.

1 Bloque de código
PROC CAS Data
Explicación :
Este ejemplo muestra la creación de una caslib simple llamada 'mybasiccaslib' que apunta al directorio `/tmp/mydata` en el sistema de archivos del servidor CAS. Luego, incluye una verificación de la creación de esta caslib.
¡Copiado!
1PROC CAS;
2 SESSION casauto;
3 TABLE.addCaslib /
4 name="mybasiccaslib",
5 description="Caslib de base para mis datos",
6 dataSource={srctype="path"},
7 path="/tmp/mydata";
8RUN;
9 
10/* Vérifier que la caslib a été ajoutée */
11PROC CAS;
12 SESSION casauto;
13 TABLE.caslibinfo / caslib="mybasiccaslib";
14RUN;
2 Bloque de código
PROC CAS Data
Explicación :
Este ejemplo crea una caslib llamada 'global_project_data' que incluye opciones comunes. La opción `subdirs=TRUE` permite que la caslib reconozca y acceda a los subdirectorios de la ruta especificada. La opción `globals=TRUE` hace que esta caslib sea accesible para todas las sesiones CAS, y no solo para la sesión del usuario que la creó.
¡Copiado!
1PROC CAS;
2 SESSION casauto;
3 TABLE.addCaslib /
4 name="global_project_data",
5 description="Données de projet avec sous-répertoires et accès global",
6 dataSource={srctype="path"},
7 path="/project/data",
8 subdirs=TRUE,
9 globals=TRUE;
10RUN;
11 
12/* Vérifier la configuration de la caslib */
13PROC CAS;
14 SESSION casauto;
15 TABLE.caslibinfo / caslib="global_project_data";
16RUN;
3 Bloque de código
PROC CAS / Commandes Shell Data
Explicación :
Este ejemplo avanzado ilustra la creación y gestión dinámica de una caslib utilizando macro-variables SAS. Comienza creando un directorio en el sistema de archivos del servidor CAS mediante un comando shell. Luego, añade una caslib (`DynamicCaslib`) que apunta a este directorio, definiéndola como no activa (`active=FALSE`) inicialmente. La caslib se activa y se verifica su estado. Finalmente, el ejemplo incluye pasos de limpieza para eliminar la caslib y el directorio creado, demostrando un ciclo de vida completo.
¡Copiado!
1%let myCaslibName = DynamicCaslib;
2%let myCaslibPath = /cas/DATA/dynamic_source;
3 
4/* Assurez-vous que le chemin existe pour l'exemple */
5/* Ceci exécute une commande shell pour créer le répertoire sur le serveur CAS */
6filename _TEMP_CMD_ pipe "mkdir -p &myCaslibPath";
7DATA _null_; INFILE _TEMP_CMD_ ; INPUT; RUN;
8 
9PROC CAS;
10 SESSION casauto;
11 TABLE.addCaslib /
12 name="&myCaslibName",
13 description="Caslib créée dynamiquement via macro-variables",
14 dataSource={srctype="path"},
15 path="&myCaslibPath",
16 active=FALSE; /* La caslib n'est pas activée immédiatement */
17RUN;
18 
19/* Activer la caslib et vérifier */
20PROC CAS;
21 SESSION casauto;
22 TABLE.caslibinfo / caslib="&myCaslibName";
23 TABLE.setCaslib / caslib="&myCaslibName", active=TRUE;
24 TABLE.caslibinfo / caslib="&myCaslibName";
25RUN;
26 
27/* Nettoyage : Supprimer la caslib et le dossier créé */
28PROC CAS;
29 SESSION casauto;
30 TABLE.dropCaslib / caslib="&myCaslibName";
31RUN;
32filename _TEMP_CMD_ pipe "rmdir &myCaslibPath";
33DATA _null_; INFILE _TEMP_CMD_ ; INPUT; RUN;
4 Bloque de código
PROC CAS / PROC CASUTIL Data
Explicación :
Este ejemplo demuestra la creación de una caslib personal (`personal=TRUE`), que solo es visible para la sesión CAS del usuario que la crea. Se utiliza la ruta `/tmp/my_user_data`. Luego, utiliza la acción `loadcasdata` para cargar la tabla `CARS` de la biblioteca SASHELP en esta caslib personal, haciéndola disponible en memoria en CAS bajo el nombre `cars_in_cas`. El ejemplo luego lista las tablas en esta caslib y, finalmente, elimina la caslib personal. Es importante asegurarse de que el directorio `/tmp/my_user_data` exista y sea accesible para escritura para el usuario CAS.
¡Copiado!
1/* Création d'une caslib personnelle temporaire */
2/* Note: Le chemin doit être accessible et en écriture pour l'utilisateur CAS */
3PROC CAS;
4 SESSION casauto;
5 TABLE.addCaslib /
6 name="my_personal_caslib",
7 description="Caslib personnelle temporaire pour chargement de données",
8 dataSource={srctype="path"},
9 path="/tmp/my_user_data",
10 personal=TRUE,
11 subdirs=TRUE; /* Permettre les sous-répertoires */
12RUN;
13 
14/* Vérifier l'existence et l'activation de la caslib personnelle */
15PROC CAS;
16 SESSION casauto;
17 TABLE.caslibinfo / caslib="my_personal_caslib";
18RUN;
19 
20/* Charger des données SASHELP dans cette caslib personnelle */
21/* Assurez-vous que le répertoire '/tmp/my_user_data' existe et est accessible en écriture */
22PROC CAS;
23 SESSION casauto;
24 loadcasdata /
25 caslib="my_personal_caslib",
26 path="CARS", /* Chargement de la table CARS de SASHELP */
27 casout="cars_in_cas",
28 promote=TRUE; /* Promote la table en mémoire pour être accessible */
29RUN;
30 
31/* Lister les tables dans la caslib personnelle */
32PROC CAS;
33 SESSION casauto;
34 TABLE.tableinfo / caslib="my_personal_caslib";
35RUN;
36 
37/* Supprimer la caslib personnelle */
38PROC CAS;
39 SESSION casauto;
40 TABLE.dropCaslib / caslib="my_personal_caslib";
41RUN;
42 
43/* Nettoyage : Si des fichiers ont été écrits, ils doivent être supprimés manuellement du chemin /tmp/my_user_data */
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : Copyright © SAS Institute Inc. All Rights Reserved