Publié le :
Accès aux données CREATION_INTERNE

Exemple : Lire une table ORC depuis ADLS

Ce code est également disponible en : Deutsch English Español
En attente de validation
L'accès aux tables ORC stockées dans Azure Data Lake Storage Gen2 (ADLS) est réalisé via l'instruction LIBNAME. L'option 'DIRECTORIES_AS_DATA=YES' est essentielle pour lire les tables Hive stockées sous forme de répertoires. Les identifiants de compte de stockage et d'application Azure sont nécessaires pour l'authentification. L'exemple est conçu pour être exécutable dans un environnement SAS© Viya 4, en s'appuyant sur l'existence préalable d'une table ORC dans ADLS, ici une table 'inventory'. Une étape de création de données SAS© est ajoutée pour rendre l'exemple autonome conformément aux exigences, même si dans le scénario original, cette table est créée via Hive.
Analyse des données

Type : CREATION_INTERNE


L'exemple crée une table SAS temporaire 'inventory' en utilisant une étape DATA avec des 'datalines'. Cette table simule la structure et les données d'une table Hive ORC pour rendre l'exemple autonome.

1 Bloc de code
DATA STEP Data
Explication :
Cette étape DATA crée un jeu de données SAS temporaire nommé 'inventory' avec les mêmes colonnes et données que la table Hive originale. Dans un scénario réel pour lire depuis ADLS, cette table 'inventory' devrait être convertie au format ORC et téléversée dans votre compte Azure Data Lake Storage Gen2.
Copié !
1DATA work.inventory;
2 LENGTH descr $32;
3 FORMAT day YYYYMMDD10.;
4 INPUT item descr $ price day:YYMMDD10.;
5 DATALINES;
64600 incandescent A19 15.54 2019-10-17
71023 led A19 14.97 2019-10-17
81023 incandescent B10 5.49 2019-10-16
94219 incandescent E12 3.97 2019-10-15
10;
11RUN;
2 Bloc de code
LIBNAME / PROC PRINT
Explication :
L'instruction LIBNAME attribue le libref 'mylib' au moteur ORC, pointant vers un emplacement dans Azure. Les options 'storage_account_name', 'storage_application_id' et 'storage_file_system' sont utilisées pour configurer la connexion au compte ADLS. L'option 'directories_as_data=yes' est cruciale pour permettre l'accès aux tables Hive stockées sous forme de répertoires. La procédure PRINT affiche ensuite le contenu de la table ORC 'mylib.inventory' lue depuis ADLS. Remplacez 'myacct', 'b1fc955d5c-e0e2-45b3-a3cc-a1cf54120f' et 'myorcdata' par vos propres informations de compte de stockage Azure. 'data/user' représente le chemin d'accès au fichier ORC dans ADLS.
Copié !
1LIBNAME mylib orc '/data/user'
2 storage_account_name = myacct
3 storage_application_id = 'b1fc955d5c-e0e2-45b3-a3cc-a1cf54120f'
4 storage_file_system = myorcdata
5 directories_as_data=yes
6 ;
7PROC PRINT DATA=mylib.inventory noobs;
8RUN;
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


Documentation liée : Accès aux données

Sujet / Mot-cléLien vers la ressource
DOC FedSQL fr/sampleCode/FEDSQLD493
DOC Définitions des Moteurs SAS fr/sampleCode/DEFINI88E2
DOC Bibliothèques SAS par Défaut fr/sampleCode/BIBLIOB755
DOC Fonctionnement des Moteurs avec les Fichiers fr/sampleCode/FONCTI81D4
DOC Caractéristiques des moteurs SAS fr/sampleCode/CARACTABC0
DOC Définitions des Moteurs SAS fr/sampleCode/DEFINI6352
Banner
Le Conseil de l'Expert
Expert
Simon
Expert SAS et fondateur.
« Lorsque vous travaillez sur Azure, assurez-vous que votre serveur SAS est situé dans la même région que votre compte de stockage ADLS. Cela réduira drastiquement la latence réseau et éliminera les coûts de transfert de données sortantes (egress fees), rendant vos exécutions PROC PRINT ou vos analyses statistiques beaucoup plus rapides »