loadFromDisk
Description
L'action `loadFromDisk` permet de charger différents types de données brutes (audio, binaire, CSV) directement depuis un système de fichiers (disque) vers une table en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya. CAS. C'est l'outil indispensable et redoutablement efficace pour ingérer en masse des corpus de textes ou des documents non structurés avant de leur appliquer la magie de .
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| casOut | Spécifie la table de sortie CAS qui contiendra les données fraîchement chargées. |
| path | Le chemin d'accès vers le fichier, le répertoire ou le fichier de liste à charger. Attention : ce chemin doit être accessible par le contrôleur (en mode SMP) ou par le premier worker (en mode MPP). |
| data | Définit le nom de la colonne dans la table de sortie qui contiendra les données. Par défaut, SAS la nommera avec beaucoup d'originalité `_data_`. |
| importOptions | Définit les paramètres de lecture. On y précise le type de fichier via `fileType` (AUDIO, BINARY ou CSV). Si vous importez du CSV, vous pouvez même typer précisément les variables avec la sous-option `vars`. |
| recursive | Permet de fouiller de manière récursive dans les sous-répertoires (TRUE) ou non (FALSE, par défaut). Ne fonctionne logiquement que si le paramètre `source` est défini sur DIRECTORY. |
| source | Indique la nature de la cible pointée par le `path` : un fichier unique (FILE), tout un répertoire (DIRECTORY) ou un fichier texte contenant une liste de chemins (LISTING). |
Préparation des données
Préparation de l'environnement
Comme cette action lit directement depuis le système de fichiers physique du serveur CAS, il n'y a pas de création de données en mémoire au préalable. Assurez-vous simplement qu'un fichier ou un répertoire est bien accessible sur votre infrastructure !
| 1 | /* Assurez-vous d'avoir accès au chemin spécifié dans le paramètre 'path' sur le serveur CAS */ |
| 2 | /* Exemple : /tmp/mon_corpus_texte/ */ |
Exemples d'utilisation
Chargement basique d'un fichier
Un exemple simple pour aspirer le contenu d'un document texte précis dans une table CAS.
| 1 | PROC CAS; |
| 2 | textRuleScore.loadFromDisk / |
| 3 | casOut={name="DocTable", caslib="CASUSER", replace=TRUE} |
| 4 | path="/tmp/mon_document.txt" |
| 5 | SOURCE="FILE"; |
| 6 | RUN; |
| 7 | QUIT; |
Résultat Attendu :
Aspiration récursive d'un répertoire complet
Ici, on sort l'artillerie lourde : on charge récursivement tout un répertoire contenant un corpus, en imposant un nom élégant à la colonne de contenu et en forçant la lecture en mode binaire.
| 1 | PROC CAS; |
| 2 | textRuleScore.loadFromDisk / |
| 3 | casOut={name="Corpus_Complet", caslib="Public", replace=TRUE} |
| 4 | path="/tmp/mon_corpus/" |
| 5 | DATA="Contenu_Texte" |
| 6 | importOptions={fileType="BINARY"} |
| 7 | recursive=TRUE |
| 8 | SOURCE="DIRECTORY"; |
| 9 | RUN; |
| 10 | QUIT; |