Atelier de programmation sur la navigation dans l'interface utilisateur BigQuery et l'exploration des données

1. Introduction

BigQuery est un entrepôt de données sans serveur, hautement évolutif et économique. Il vous suffit de transférer vos données dans BigQuery. Nous nous chargeons du reste pour que vous puissiez vous concentrer sur ce qui compte vraiment : la gestion de votre entreprise. Vous pouvez contrôler l'accès au projet et à vos données en fonction des besoins de votre entreprise, par exemple en autorisant d'autres personnes à afficher vos données ou à les interroger.

Dans cet atelier, vous allez découvrir les possibilités d'analyse de BigQuery. Vous apprendrez à importer un ensemble de données à partir d'un bucket Google Cloud Storage et à vous familiariser avec l'interface utilisateur BigQuery en travaillant avec un ensemble de données sur la banque de détail. De plus, cet atelier vous apprendra à découvrir les principales fonctionnalités de BigQuery qui facilitent votre analyse quotidienne, comme l'exportation des résultats de requêtes dans une feuille de calcul, l'affichage et l'exécution de requêtes à partir de votre historique de requêtes, l'affichage des performances des requêtes et la création de vues de tables à utiliser par d'autres équipes et services.

Objectifs de l'atelier

Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :

  • Charger de nouvelles données dans BigQuery
  • Se familiariser avec l'UI BigQuery
  • Exécuter des requêtes dans BigQuery
  • Afficher les performances des requêtes
  • Créer des vues dans BigQuery
  • Partager des ensembles de données de manière sécurisée avec d'autres utilisateurs

2. Introduction : comprendre l'interface utilisateur BigQuery

Dans cette section, vous allez apprendre à parcourir l'interface utilisateur BigQuery, à afficher les ensembles de données disponibles et à exécuter une requête simple.

Chargement de l'UI BigQuery

  1. Saisissez "BigQuery" en haut de la console Google Cloud Platform.
  2. Sélectionnez BigQuery dans la liste d'options. Veillez à sélectionner l'option avec le logo BigQuery (la loupe).

Afficher des ensembles de données et exécuter des requêtes

ee95ce13969ee1ad.png

  1. Dans le volet de gauche de la section "Ressource", cliquez sur votre projet BigQuery.
  2. Cliquez sur bq_demo pour afficher les tables de cet ensemble de données.
  3. Dans le champ de recherche, saisissez "carte" pour afficher la liste des tables et des ensembles de données dont le nom contient le terme "carte".
  4. Sélectionnez la table "card_transactions" dans la liste des résultats de recherche.

beb6ff6ca2930125.png

  1. Cliquez sur l'onglet "Détails" sous le volet card_transactions pour afficher les métadonnées de cette table.
  2. Cliquez sur l'onglet "Aperçu" pour afficher un aperçu du tableau.

[Point de discussion concurrentiel]  : L'intégration avec Google Data Catalog signifie que les métadonnées BigQuery peuvent être gérées avec d'autres sources de données, telles que les lacs de données ou les sources de données opérationnelles. Cet exemple montre que Google Cloud n'est pas qu'un entrepôt de données relationnel, mais une plate-forme de données analytiques complète.

  1. Cliquez sur l'icône en forme de loupe pour interroger la table "card_transactions". Un texte généré automatiquement s'affiche dans l'éditeur de requête BigQuery.
  2. Saisissez le code ci-dessous pour nous montrer les marchands distincts de la table Card_Transactions.
SELECT distinct (merchant) FROM bq_demo.card_transactions LIMIT 1000
  1. Cliquez sur le bouton "Exécuter" pour exécuter la requête.

35113542e7ec6fa6.png

3. Créer des ensembles de données et partager des vues

Le partage des données et de la gouvernance est essentiel. Vous pouvez le faire de manière intuitive dans l'UI BQ. Dans cette section, vous allez apprendre à créer un ensemble de données, à le remplir avec une vue et à le partager.

Afficher l'historique des requêtes

  1. Cliquez sur "Historique des requêtes" dans le volet de gauche de la console GCP.
  2. Cliquez sur "Actualiser" dans le volet "Historique des requêtes".
  3. Cliquez sur l'icône de téléchargement d'image/flèche tout à droite de la requête pour afficher ses résultats.

6e3232ed96f647b8.png

Créer un ensemble de données

  1. Sélectionnez [nom de votre projet] dans le volet des ressources de l'UI BigQuery.
  2. Sélectionnez "Créer un ensemble de données" dans le volet d'informations sur le projet.
  3. Pour l'ID de l'ensemble de données :

bq_demo_shared

  1. Conservez les valeurs par défaut de tous les autres champs.
  2. Cliquez sur "Créer un ensemble de données".

b433eba38f55124f.png dd774aca416e7fbc.png

Créer des vues

[Point de discussion concurrentiel]  : BigQuery est entièrement conforme à la norme ANSI SQL et accepte les jointures multitables simples et complexes, ainsi que les fonctions analytiques avancées. Nous avons constamment amélioré la compatibilité avec les types de données et les fonctions SQL courants utilisés dans les entrepôts de données traditionnels pour faciliter le processus de migration.

  1. Sélectionnez "Saisir une nouvelle requête" en haut du volet "Éditeur de requête".
  2. Insérez le code suivant dans l'éditeur de requête.
WITH revenue_by_month AS (
SELECT
    card.type AS card_type,
    FORMAT_DATE('%Y-%m', trans_date) as revenue_date,
    SUM(amount) as revenue
FROM bq_demo.card_transactions
JOIN bq_demo.card ON card_transactions.cc_number = card.card_number
WHERE trans_date  DATE_ADD(CURRENT_DATE, INTERVAL -1 YEAR)
GROUP BY card_type, revenue_date
)
SELECT
    card_type,
    revenue_date,
    revenue as monthly_rev,
    revenue -  LAG(revenue) OVER (ORDER BY card_type, revenue_date ASC) as rev_change
FROM revenue_by_month
ORDER BY card_type, revenue_date ASC;
  1. Cliquez sur "Enregistrer la vue".
  2. Sélectionnez votre projet actuel pour le nom du projet.
  3. Sélectionnez l'ensemble de données que vous venez de créer :

bq_demo_shared

  1. Pour le nom de la table :

rev_change_by_card_type

  1. Cliquez sur "Enregistrer".

4b111056b544c27d.png

Partager des vues et des ensembles de données

  1. Sélectionnez l'ensemble de données "bq_demo_shared" dans le volet de ressources de gauche de l'UI BigQuery.
  2. Cliquez sur "Partager l'ensemble de données" dans le volet d'informations sur l'ensemble de données.
  3. Saisissez une adresse e-mail
  4. Sélectionnez "Lecteur de données BigQuery" dans le menu déroulant "Rôle".
  5. Cliquez sur "Ajouter".
  6. Cliquez sur OK .

1c04b6b5ebc191dc.png

Explorer les données dans Sheets

[Point de discussion concurrentiel]  : Un autre avantage de BigQuery par rapport à ses concurrents est BI Engine. BI Engine peut être utilisé pour que les requêtes récapitulatives de type BI renvoient des résultats en moins d'une seconde grâce au moteur de mise en cache en mémoire. Cette fonctionnalité est actuellement disponible dans Google Data Studio, mais elle le sera bientôt pour accélérer toutes les requêtes dans BigQuery.

Exemples :

Snowflake s'appuie sur des outils de BI tiers pour les tableaux de bord et la visualisation des données, tandis que GCP propose une gamme d'outils de BI intégrés, y compris les feuilles connectées, Data Studio et Looker.

  1. Sélectionnez la vue "rev_change_by_card_type" dans le volet de ressources de gauche de l'UI BigQuery.
  2. Cliquez sur la loupe pour interroger la vue 255be22b0eaf339.png.
  3. Type :

SELECT *

FROM bq_demo_shared.rev_change_by_card_type

  1. Cliquez sur Exécuter.
  2. Cliquez sur l'icône "Exporter" dans le volet des résultats.
  3. Sélectionnez "Explorer les données avec Sheets".

9617b522025fd337.png

  1. Cliquez sur "Start Analyzing" (Commencer l'analyse).
  2. Sélectionnez "Tableau croisé dynamique".
  3. Sélectionnez "Nouvelle feuille".
  4. Cliquez sur "Créer".
  5. Ajoutez "revenue_date" dans la section "Lignes" de l'éditeur de tableau croisé dynamique situé à droite de la fenêtre Sheets.
  6. Ajoutez "card_type" dans la section "Colonne" de l'éditeur de tableau croisé dynamique.
  7. Ajoutez "monthly_rev" dans la section "Colonnes" de l'éditeur de tableau croisé dynamique.
  8. Cliquez sur "Appliquer".

48e67c2e04965796.png

  1. Accédez au ruban supérieur de l'interface utilisateur de Sheets, puis sélectionnez Insérer > Graphique.

4. Configuration : intégration des données

Dans cette section, vous allez apprendre à créer une table et à effectuer des JOINTURES sur l'un des nombreux ensembles de données publics disponibles sur Google Cloud.

[Competitive Talking Point]:

BigQuery est compatible avec les ensembles de données partagés depuis des années. Les clients de n'importe quel projet peuvent interroger à la fois les ensembles de données publics et ceux d'autres projets qui ont été partagés avec eux.

BigQuery peut prendre en charge les lacs de données dans GCS à l'aide de tables externes. En plus du chargement groupé, BigQuery permet de diffuser des données dans la base de données à des débits pouvant atteindre des centaines de Mo par seconde. Snowflake n'est pas compatible avec les données en flux.

Importer des données dans une nouvelle table

  1. Dans le volet "Ressources", sélectionnez l'ensemble de données bq_demo.
  2. Dans le volet d'informations sur l'ensemble de données, sélectionnez "Créer une table".
  3. Sélectionner Google Cloud Storage comme source
  4. Dans la zone de texte du chemin d'accès au fichier :

gs://retail-banking-looker/district

  1. Sélectionnez "CSV" pour le format de fichier.
  2. Saisissez "district" pour le nom de la table.
  3. Cochez la case "Détecter automatiquement le schéma".
  4. Cliquez sur "Créer une table".

Interroger un ensemble de données public

  1. Dans l'éditeur de requête, saisissez la requête suivante :
SELECT
    CAST(geo_id as STRING) AS zip_code,
    total_pop,
    median_age,
    households,
    income_per_capita,
    housing_units,
    vacant_housing_units_for_sale,
    ROUND(SAFE_DIVIDE(employed_pop, pop_16_over),4) AS rate_employment,
    ROUND(SAFE_DIVIDE(bachelors_degree_or_higher_25_64, pop_25_64),4) AS rate_bachelors_degree_or_higher_25_64
  FROM
    `bigquery-public-data.census_bureau_acs.zip_codes_2017_5yr`;
  1. Cliquez sur Exécuter.
  2. Afficher les résultats

dff40709db70d75.png

  1. Nous allons maintenant combiner ces données publiques avec une autre requête. Saisissez le code SQL suivant dans l'éditeur de requête :
WITH customer_counts AS (
    select regexp_extract(address, "[0-9][0-9][0-9][0-9][0-9]") as zip_code, 
    count(*) as num_clients
    FROM bq_demo.client
    GROUP BY zip_code
    )
SELECT 
    CAST(geo_id as STRING) AS zip_code,
    total_pop,
    median_age,
    households,
    income_per_capita,
    ROUND(SAFE_DIVIDE(employed_pop, pop_16_over),4) AS rate_employment,
    num_clients
FROM
    `bigquery-public-data.census_bureau_acs.zip_codes_2017_5yr`
JOIN customer_counts on zip_code = geo_id
ORDER BY num_clients DESC
  1. Cliquez sur Exécuter.
  2. Afficher les résultats

b853ad571e7a3038.png

5. Gestion de la capacité

Utiliser des créneaux et des réservations

BQ propose plusieurs modèles de tarification pour répondre à vos besoins. La plupart des grands clients utilisent principalement le tarif forfaitaire pour bénéficier d'une tarification prévisible avec une capacité réservée. Pour les pics de charge au-delà de cette capacité de base, BQ propose des emplacements flexibles qui vous permettent d'augmenter votre capacité à la volée, puis de la réduire automatiquement sans impact sur les requêtes en cours d'exécution. BigQuery propose également un modèle d'analyse par octet qui vous permet de ne payer que les requêtes que vous exécutez.

[Point de discussion concurrentiel  : Certains concurrents fonctionnent exclusivement sur un modèle à capacité fixe, dans lequel les clients doivent allouer un entrepôt de données virtuel pour chaque charge de travail de leur organisation. En plus d'un modèle à faible coût par requête qui facilite la prise en main de BigQuery, nous proposons un modèle de tarification forfaitaire de la capacité, dans lequel la capacité inutilisée peut être partagée entre un ensemble de charges de travail.]

  1. Accédez à l'onglet "Réservations".

964f4ab78d35d067.png

  1. Cliquez sur "Acheter des emplacements".

c8cb5ee61bbea814.png

  1. Sélectionnez "Flexible" comme durée.
  2. Sélectionnez 500 emplacements.
  3. Confirmez l'achat.

d615f5908dffc1ee.png

  1. Cliquez sur "Afficher les engagements d'emplacements".
  2. Cliquez sur "Créer une réservation".
  3. Nom de réservation "demo"
  4. Sélectionnez les États-Unis comme emplacement.
  5. Saisissez "500" pour les emplacements (tous disponibles).
  6. Cliquez sur "Devoirs".
  7. Sélectionner le projet actuel pour le projet d'organisation
  8. Sélectionnez "demo" pour l'ID de réservation.
  9. Cliquez sur "Créer".