Publié le :
Data Access EXTERNAL

Lecture d'une table ORC depuis ADLS

Ce code est également disponible en : Deutsch English Español
En attente de validation
Cet exemple illustre la lecture d'une table ORC stockée dans Azure Data Lake Storage Gen2. Pour accéder aux tables créées par Hive et stockées sous forme de répertoires, l'option DIRECTORIES_AS_DATA=YES doit être spécifiée dans l'instruction LIBNAME. Le code SAS© présenté lit une table 'inventory' préalablement créée en Hive.
Analyse des données

Type : EXTERNAL


L'exemple SAS lit une table 'inventory' au format ORC qui doit être préalablement créée dans Azure ADLS. Les commandes Hive pour la création de cette table sont fournies comme prérequis dans le premier bloc de code. L'exemple SAS ne crée pas ses propres données en interne.

1 Bloc de code
HiveQL Data
Explication :
Ce bloc de code HiveQL est un prérequis pour l'exemple SAS. Il crée une table nommée 'inventory' au format ORC dans le chemin '/mydata/inventory' d'Azure ADLS et y insère quelques enregistrements. Cette table sera ensuite lue par le code SAS. Ce code doit être exécuté dans un environnement Hive approprié avant d'exécuter le code SAS.
Copié !
1CREATE TABLE inventory(item INT, descr CHAR(32), price DOUBLE, day DATE) STORED AS ORC LOCATION '/mydata/inventory';
2INSERT INTO inventory VALUES(4600, 'incandescent A19', 15.54, '2019-10-17');
3INSERT INTO inventory VALUES(1023, 'led A19', 14.97, '2019-10-17');
4INSERT INTO inventory VALUES(1023, 'incandescent B10', 5.49, '2019-10-16');
5INSERT INTO inventory VALUES(4219, 'incandescent E12', 3.97, '2019-10-15');
6SELECT * FROM inventory;
2 Bloc de code
LIBNAME ORC
Explication :
Cette instruction LIBNAME `mylib` connecte SAS à un emplacement Azure Data Lake Storage (ADLS) en utilisant le moteur ORC. Elle spécifie le nom du compte de stockage (`storage_account_name`), l'ID d'application de stockage (`storage_application_id`), et le système de fichiers de stockage (`storage_file_system`). L'option `directories_as_data=yes` est essentielle pour que SAS reconnaisse et accède aux tables Hive stockées sous forme de répertoires dans ADLS. Enfin, la procédure PROC PRINT est utilisée pour afficher le contenu de la table ORC `mylib.inventory`.
Copié !
1LIBNAME mylib orc '/data/user' /*1*/
2 storage_account_name = myacct
3 storage_application_id = 'b1fc955d5c-e0e2-45b3-a3cc-a1cf54120f'
4 storage_file_system = myorcdata
5 directories_as_data=yes /*2*/
6 ;
7PROC PRINT DATA=mylib.inventory noobs; /*3*/
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.
Banner
Le Conseil de l'Expert
Expert
Michael
Responsable de l'infrastructure Viya.
« Bien que ce script lise les données via un LIBNAME (moteur local), si vous travaillez sur de gros volumes, envisagez de charger ces fichiers ORC directement en mémoire CAS (via l'action loadTable). Cela déplacera la puissance de calcul vers le cluster distribué pour des performances décuplées »