Chargement et interrogation d’échantillons de données via SQL

Introduction

Ce tutoriel utilise une marque fictive de food truck nommée Tasty Bytes pour vous montrer comment charger et interroger des données dans Snowflake en utilisant SQL. Vous utilisez une feuille de calcul préchargée dans Snowsight pour effectuer ces tâches.

L’illustration suivante donne un aperçu de Tasty Bytes.

Contient une présentation de Tasty Bytes, un réseau mondial de food trucks avec 15 marques de food trucks localisés dans plusieurs pays et villes. L'image décrit la mission, la vision, les emplacements, la situation actuelle et les objectifs futurs de l'entreprise.

Note

Snowflake facture un montant minimal pour le stockage sur disque utilisé pour les données d’exemple dans ce tutoriel. Ce tutoriel fournit des étapes pour supprimer la base de données et réduire le coût de stockage.

Snowflake nécessite un entrepôt virtuel pour charger les données et exécuter les requêtes. Un entrepôt virtuel en cours d’exécution consomme des crédits Snowflake. Dans ce tutoriel, vous utiliserez un compte d’essai de 30 jours, qui fournit des crédits gratuits, de sorte que vous n’aurez aucun coût à supporter.

Ce que vous apprendrez

Dans ce tutoriel, vous apprendrez à :

  • Utilisez un rôle pour accéder à des fonctionnalités à partir de privilèges accordés.

  • Utiliser un entrepôt pour accéder aux ressources.

  • Créer une base de données et un schéma.

  • Créez une table.

  • Chargez les données dans la table.

  • Interroger les données dans la table.

Conditions préalables

Le tutoriel suppose ce qui suit :

Note

Ce tutoriel n’est disponible que pour les utilisateurs disposant d’un compte d’essai. L’exemple de feuille de calcul n’est pas disponible pour les autres types de comptes.

Étape 1. Se connecter en utilisant Snowsight

Pour accéder à Snowsight via l’Internet public, procédez comme suit :

  1. Dans un navigateur web pris en charge, accédez à https://app.snowflake.com.

  2. Fournissez votre identificateur de compte ou votre URL de compte. Si vous vous êtes déjà connecté à Snowsight, vous verrez peut-être un nom de compte que vous pouvez sélectionner.

  3. Connectez-vous en utilisant les identifiants de connexion de votre compte Snowflake.

Étape 2. Ouvrir la feuille de calcul SQL pour le chargement et l’interrogation des données

Vous pouvez utiliser des feuilles de calcul pour écrire et exécuter des commandes SQL sur votre base de données Snowflake. Votre compte d’essai a accès à une feuille de calcul préchargée pour ce tutoriel. La feuille de calcul contient les commandes SQL que vous exécuterez pour créer une base de données, y charger des données et les interroger. Pour plus d’informations sur les feuilles de calcul, voir Premiers pas avec les feuilles de calcul.

Pour ouvrir la feuille de calcul préchargée du tutoriel :

  1. Sélectionnez Projects » Worksheets pour ouvrir la liste des feuilles de calcul.

  2. Ouvrez [Tutorial] Using SQL to load and query sample data.

    Votre feuille de calcul ressemble à l’image suivante.

La feuille de calcul SQL de chargement et d'interrogation, qui contient les commandes SQL de ce tutoriel, ainsi que des commentaires descriptifs.

Étape 3. Définir le rôle et l’entrepôt à utiliser

Le rôle que vous utilisez détermine les privilèges dont vous disposez. Dans ce tutoriel, vous utiliserez le rôle système ACCOUNTADMIN afin de pouvoir visualiser et gérer les objets de votre compte. Pour plus d’informations, voir Utilisation du rôle ACCOUNTADMIN.

Un entrepôt fournit les ressources nécessaires pour créer et gérer des objets et exécuter des commandes SQL. Ces ressources comprennent le CPU, la mémoire et le stockage temporaire. Votre compte d’essai dispose d’un entrepôt virtuel (compute_wh) que vous pouvez utiliser pour ce tutoriel. Pour plus d’informations, voir Entrepôts virtuels.

Pour définir le rôle et l’entrepôt à utiliser, procédez comme suit :

  1. Dans la feuille de calcul ouverte, placez votre curseur sur la ligne USE ROLE.

    USE ROLE accountadmin;
    
    Copy
  2. Dans le coin supérieur droit de la feuille de calcul, sélectionnez Run.

    Note

    Dans ce tutoriel, exécutez les instructions SQL une à la fois. Ne sélectionnez pas Run All.

  3. Placez votre curseur sur la ligne USE WAREHOUSE, puis sélectionnez Run.

    USE WAREHOUSE compute_wh;
    
    Copy

Étape 4. Créer une base de données, un schéma et une table

Une base de données stocke des données dans des tables que vous pouvez gérer et interroger. Un schéma est un regroupement logique d’objets de base de données, tels que des tables et des vues. Par exemple, un schéma peut contenir les objets de la base de données nécessaires à une application spécifique. Pour plus d’informations, voir Bases de données, tables et vues - Vue d’ensemble.

Dans ce tutoriel, vous créez une base de données nommée tasty_bytes_sample_data, un schéma nommé raw_pos et une table nommée menu.

Pour créer la base de données, le schéma et la table, procédez comme suit :

  1. Dans la feuille de calcul ouverte, placez votre curseur sur la ligne CREATE OR REPLACE DATABASE, puis sélectionnez Run.

    CREATE OR REPLACE DATABASE tasty_bytes_sample_data;
    
    Copy
  2. Placez votre curseur sur la ligne CREATE OR REPLACE SCHEMA, puis sélectionnez Run.

    CREATE OR REPLACE SCHEMA tasty_bytes_sample_data.raw_pos;
    
    Copy
  3. Placez votre curseur dans les lignes CREATE OR REPLACE TABLE, puis sélectionnez Run.

    CREATE OR REPLACE TABLE tasty_bytes_sample_data.raw_pos.menu
    (
        menu_id NUMBER(19,0),
        menu_type_id NUMBER(38,0),
        menu_type VARCHAR(16777216),
        truck_brand_name VARCHAR(16777216),
        menu_item_id NUMBER(38,0),
        menu_item_name VARCHAR(16777216),
        item_category VARCHAR(16777216),
        item_subcategory VARCHAR(16777216),
        cost_of_goods_usd NUMBER(38,4),
        sale_price_usd NUMBER(38,4),
        menu_item_health_metrics_obj VARIANT
    );
    
    Copy
  4. Pour confirmer que la table a bien été créée, placez votre curseur sur la ligne SELECT, puis sélectionnez Run.

    SELECT * FROM tasty_bytes_sample_data.raw_pos.menu;
    
    Copy

    Votre résultat montre les colonnes de la table que vous avez créée. À ce stade du tutoriel, la table ne comporte aucune ligne.

Étape 5 : Créer une zone de préparation et charger les données

Une zone de préparation est un emplacement qui contient des fichiers de données à charger dans une base de données Snowflake. Ce tutoriel crée une zone de préparation qui charge des données à partir d’un compartiment Amazon S3. Ce tutoriel utilise un compartiment existant avec un fichier CSV qui contient les données. Vous chargez les données de ce fichier CSV dans la table que vous avez créé précédemment. Pour plus d’informations, voir Chargement en masse à partir d’Amazon S3.

Pour créer une zone de préparation, procédez comme suit :

  1. Dans la feuille de calcul ouverte, placez votre curseur dans les lignes CREATE OR REPLACE STAGE, puis sélectionnez Run.

    CREATE OR REPLACE STAGE tasty_bytes_sample_data.public.blob_stage
    url = 's3://sfquickstarts/tastybytes/'
    file_format = (type = csv);
    
    Copy
  2. Pour confirmer que la zone de préparation a bien été créée, placez votre curseur sur la ligne LIST, puis sélectionnez Run.

    LIST @tasty_bytes_sample_data.public.blob_stage/raw_pos/menu/;
    
    Copy

    La sortie devrait ressembler à ce qui suit.

    Sortie d'une table avec les colonnes suivantes : name, size, md5, last_modified. Une ligne indique les détails de la zone de préparation.
  3. Pour charger les données dans la table, placez votre curseur dans les lignes COPY INTO, puis sélectionnez Run.

    COPY INTO tasty_bytes_sample_data.raw_pos.menu
    FROM @tasty_bytes_sample_data.public.blob_stage/raw_pos/menu/;
    
    Copy

Étape 6. Interroger les données

Maintenant que les données sont chargées, vous pouvez exécuter des requêtes sur la table menu.

Pour exécuter une requête dans la feuille de calcul ouverte, sélectionnez la ou les lignes de la commande SELECT, puis sélectionnez Run.

Par exemple, pour obtenir le nombre de lignes du tableau, exécutez la requête suivante :

SELECT COUNT(*) AS row_count FROM tasty_bytes_sample_data.raw_pos.menu;
Copy

La sortie devrait ressembler à ce qui suit.

Sortie de la table avec la colonne suivante : ROW_COUNT. Une ligne avec la valeur suivante : 100.

Exécutez cette requête pour obtenir les dix premières lignes de la table :

SELECT TOP 10 * FROM tasty_bytes_sample_data.raw_pos.menu;
Copy

La sortie devrait ressembler à ce qui suit.

Sortie d'une table avec les colonnes suivantes : MENU_ID, MENU_TYPE_ID, MENU_TYPE, TRUCK_BRAND_NAME, MENU_ITEM_ID, MENU_ITEM_NAME. La première ligne contient les valeurs suivantes : 10001, 1, Ice Cream, Freezing Point, 10, Lemonade.

Pour plus d’informations sur l’exécution d’une requête qui renvoie le nombre de lignes spécifié, voir TOP <n>.

Vous pouvez exécuter d’autres requêtes dans la feuille de calcul pour explorer les données de la table menu.

Étape 7. Nettoyage, résumé et ressources supplémentaires

Félicitations ! Vous avez terminé ce tutoriel sur les comptes d’essai.

Prenez quelques minutes pour passer en revue un bref résumé et les points clés abordés dans ce tutoriel. Pensez à procéder au nettoyage en supprimant tous les objets que vous avez créés dans ce tutoriel. Pour en savoir plus, consultez les autres rubriques de la documentation Snowflake.

Nettoyer les objets du tutoriel (facultatif)

Si les objets que vous avez créés dans ce tutoriel ne sont plus nécessaires, vous pouvez les supprimer du système à l’aide des commandes DROP <objet>. Pour supprimer la base de données que vous avez créée, exécutez la commande suivante :

DROP DATABASE IF EXISTS tasty_bytes_sample_data;
Copy

Résumé et points clés

En résumé, vous avez utilisé une feuille de calcul préchargée dans Snowsight pour effectuer les étapes suivantes :

  1. Définissez le rôle et le contexte de l’entrepôt.

  2. Créer une base de données, un schéma et une table.

  3. Créez une zone de préparation et chargez les données de la zone de préparation dans la base de données.

  4. Interroger les données.

Voici quelques points clés à retenir concernant le chargement et l’interrogation des données :

  • Vous devez disposer des autorisations nécessaires pour créer et gérer des objets dans votre compte. Dans ce tutoriel, vous utilisez le rôle système ACCOUNTADMIN pour ces privilèges.

    Ce rôle n’est normalement pas utilisé pour créer des objets. Au lieu de cela, nous vous recommandons de créer une hiérarchie de rôles alignés sur les fonctions de votre organisation. Pour plus d’informations, voir Utilisation du rôle ACCOUNTADMIN.

  • Vous avez besoin d’un entrepôt pour les ressources nécessaires à la création et à la gestion des objets et à l’exécution des commandes SQL. Ce tutoriel utilise l’entrepôt compute_wh inclus dans votre compte d’essai.

  • Vous avez créé une base de données pour stocker les données et un schéma pour regrouper logiquement les objets de la base de données.

  • Vous avez créé une zone de préparation pour charger des données à partir d’un fichier CSV.

  • Une fois les données chargées dans votre base de données, vous les avez interrogées à l’aide d’instructions SELECT.

Quelle est la prochaine étape ?

Continuez à vous renseigner sur Snowflake à l’aide des ressources suivantes :