SAS Viya : Comment exporter et stocker vos données au format Parquet sur Google Cloud Storage

Ce code est également disponible en : Deutsch English Español
Niveau de difficulté
Expert
Publié le :
Michael

Le Conseil de l'Expert

Michael
Responsable de l'infrastructure Viya.

Le format Parquet est particulièrement efficace pour les lectures sélectives (lorsque vous ne lisez que quelques colonnes). Si vous prévoyez de requêter souvent ces données depuis le Cloud, assurez-vous de bien définir vos types de variables dans SAS avant la copie, car Parquet utilise ces métadonnées pour optimiser la compression et la vitesse de lecture sur GCS.

L'instruction LIBNAME est utilisée pour établir une connexion à un bucket Google Cloud Storage en spécifiant le moteur 'parquet', la plateforme de stockage 'GCS', le nom du bucket et le chemin d'accès au fichier de clé GCS. La procédure COPY est ensuite utilisée pour copier le jeu de données 'sashelp.baseball' vers la bibliothèque LIBNAME définie, créant ainsi une table Parquet dans GCS. Enfin, PROC PRINT est utilisée pour afficher les trois premières observations de la nouvelle table Parquet, démontrant l'accès réussi aux données stockées sur Google Cloud Storage.
Analyse des données

Type : CREATION_INTERNE


L'exemple utilise le jeu de données interne SASHELP.BASEBALL. Le code fournit le contexte complet pour la création de la table Parquet et l'affichage des données.

1 Bloc de code
LIBNAME / PROC COPY / PROC PRINT Data
Explication :
Ce bloc de code définit d'abord une libname SAS, 'mylib', utilisant le moteur 'parquet' pour se connecter à un bucket Google Cloud Storage ('my-bucket'). Il spécifie également le chemin d'accès au fichier de clé GCS pour l'authentification. Ensuite, PROC COPY est utilisée pour copier le jeu de données SAS interne 'sashelp.baseball' vers cette bibliothèque 'mylib', créant une table Parquet dans GCS. Enfin, PROC PRINT affiche les trois premières observations de la table 'baseball' nouvellement créée dans 'mylib', vérifiant ainsi la création et l'accessibilité de la table Parquet.
Copié !
1LIBNAME mylib parquet ""
2 storage_platform = "GCS"
3 storage_bucket_name = "my-bucket"
4 storage_gcs_key_file = "/user/myfiles/my-project-5123b3a258a1.json"
5 ;
6PROC COPY in=sashelp out=mylib;
7 select baseball;
8RUN;
9PROC PRINT DATA=mylib.baseball (obs=3);
10 var name team;
11RUN;
L'Astuce Pro
Pour optimiser le transfert de vos tables vers Google Cloud Storage, assurez-vous que les types de donnees numeriques sont bien definis avant le PROC COPY, car le moteur SAS Parquet convertira par defaut toutes les variables numeriques en types 8 octets (Double), ce qui peut augmenter inutilement la taille de vos fichiers .parquet sur le bucket si des precisions moindres (Integer) suffisaient.
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Copyright © SAS Institute Inc. All Rights Reserved