Oubliez les vieux exports CSV ! Connectez CAS en direct à vos BDD sous SAS Viya

Cet article en deux mots :

Fini les exports CSV intermédiaires ! Découvrez comment configurer une Caslib vers un SGBD (MySQL, PostgreSQL) pour connecter directement le moteur in-memory CAS à vos bases de données. Optimisez vos flux en chargeant vos tables en RAM à la demande grâce à la procédure loadTable.

L'objectif : S'affranchir des extractions CSV intermédiaires en connectant directement le moteur in-memoryTechnique stockant les données directement dans la RAM pour un accès ultra-rapide, permettant des analyses massives et calculs complexes en temps réel sans les latences liées aux disques durs. CAS à une base de données relationnelle pour y puiser les tables à la demande.

Explications détaillées : Les CaslibsUne caslib est un conteneur logique dans SAS Viya regroupant des données en mémoire (tables CAS) et une source de stockage physique, tout en gérant les droits d'accès associés. ne se limitent pas aux répertoires physiques (pathUn PATH (chemin) dans SAS Viya est une caslib pointant vers un répertoire de système de fichiers local ou réseau permettant au serveur CAS d'accéder directement aux fichiers de données.). Vous pouvez configurer des CaslibsUne caslib est un conteneur logique dans SAS Viya regroupant des données en mémoire (tables CAS) et une source de stockage physique, tout en gérant les droits d'accès associés. pointant vers des SGBD (MySQL, PostgreSQL, Oracle). Une fois la connexion établie, CAS agit comme un client : il peut lister les tables de la base de données et lancer des requêtes de rapatriement massives en parallèle (si le moteur de données cible le supporte).

Exemple 1 : Déclarer la 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. MySQL (Data Source)

1
2
3
4
5
6
7
8
9
10
11
12
proc cas;
table.addCaslib /
name="DB_Prod"
dataSource={
srcType="mysql",
server="srv-db-prod.domaine.local",
database="ihmt_schema",
user="compte_lecture",
password="mot_de_passe"
}
session=False; /* Rendre la connexion disponible globalement */
quit;

Exemple 2 : Importer une table MySQL en RAM côté CAS

1
2
3
4
5
6
proc cas;
table.loadTable /
caslib="DB_Prod"
path="LOGS_UTILISATEURS" /* Nom de la table dans MySQL */
casOut={name="LOGS_IN_MEM", caslib="Public", replace=True};
quit;

Nicolas Housset

Passionné d'informatique, je suis Consultant et expert technique SAS VIYA, également co-fondateur de la société Flexcelite. Spécialisé dans les technologies SAS (Viya, 9.4) et les infrastructures associées (Linux, Hadoop, Azure), ce blog est mon espace pour partager mes mémos techniques et retours d'expérience.