table

fileInfo

##caslib ##set_table ##data_management ##file_io

Description

L'action table.fileInfo est l'explorateur de fichiers de votre environnement SAS Viya. Elle permet de lister les fichiers physiques présents dans la source de données associée à 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. (bibliothèque CAS). C'est l'outil parfait pour vérifier la présence d'un fichier CSV, Parquet ou SASHDAT avant de tenter un chargement. Elle est particulièrement flexible grâce au support des caractères génériques (wildcards), vous permettant de chercher une aiguille dans une botte de foin de données. Utile pour vérifier si votre collègue a réellement déposé le fichier promis ou s'il cherche encore l'icône 'Envoyer' !

Syntaxe Officielle
table.fileInfo /
allFiles=true | false,
caslib="nom_caslib",
dataSourceOptions={options_source},
includeDirectories=true | false,
kbytes=true | false,
path="motif_de_recherche",
rowCount=true | false,
wildEscape="caractère",
wildignore=true | false,
wildsensitive=true | false;

Paramètres Clés

Nom du paramètre Description
allFiles Si positionné à True, liste absolument tous les fichiers trouvés. Sinon, ne liste que ceux supportés par le connecteur de la caslib.
caslib Spécifie le nom de la caslib à interroger. Si omis, la caslib active est utilisée.
dataSourceOptions Dictionnaire d'options spécifiques au type de source de données (S3, ADLS, Google Cloud Storage, etc.).
includeDirectories Détermine si les sous-répertoires doivent figurer dans les résultats. True par défaut.
kbytes Affiche les tailles de fichiers en kilo-octets plutôt qu'en octets.
path Le nom du fichier ou le motif de recherche. Utilise '%' pour plusieurs caractères et '_' pour un seul caractère générique.
rowCount Indique s'il faut inclure le nombre de lignes pour les fichiers supportés. Attention aux performances sur les sources lentes !
wildEscape Définit le caractère utilisé pour échapper les jokers '%' et '_' dans le paramètre path.
wildignore Si True, les caractères génériques sont traités comme des caractères normaux.
wildsensitive Active ou désactive la sensibilité à la casse lors de l'utilisation de motifs de recherche.

Préparation des données

Préparation d'un fichier de test

Ce code crée une table en mémoire puis la sauvegarde physiquement pour s'assurer d'avoir un fichier à lister avec fileInfo.

1PROC CAS; TABLE.loadTable / path="cars.csv", caslib="casuser", casout={name="test_fileinfo", caslib="casuser", replace=true}; TABLE.save / TABLE={name="test_fileinfo", caslib="casuser"}, name="mon_fichier_test.sashdat", caslib="casuser", replace=true; RUN;

Exemples d'utilisation

Lister le contenu d'une caslib

Une commande basique pour voir tous les fichiers disponibles dans la caslib publique.

1PROC CAS; TABLE.fileInfo / caslib="public"; RUN;
Résultat Attendu :
Un tableau affichant le nom, l'extension, la taille et la date de modification des fichiers de la caslib 'public'.
Recherche avancée de fichiers CSV avec statistiques

Ici, on recherche tous les fichiers dont le nom commence par 'sales', qui ont l'extension .csv, en demandant la taille en KB et le nombre de lignes.

1PROC CAS; TABLE.fileInfo / caslib="casuser", path="sales%.csv", kbytes=true, rowCount=true, wildsensitive=false; RUN;
Résultat Attendu :
Une liste filtrée des fichiers CSV correspondants avec des colonnes supplémentaires pour la taille en KB et le nombre de lignes trouvées dans chaque fichier.
Exemple

Utilisation du paramètre allFiles pour voir même les fichiers qui ne sont pas des formats de données SAS habituels.

1PROC CAS; TABLE.fileInfo / caslib="casuser", allFiles=true, includeDirectories=true; RUN;
Résultat Attendu :
Un inventaire complet de la source de données, incluant les fichiers cachés, les scripts ou tout autre document non structuré.