Cursus
J'ai commencé à m'intéresser aux big data il y a plus de 10 ans, en tant qu'ingénieur logiciel travaillant dans le secteur de la technologie publicitaire. À l'époque, les ensembles de données ont commencé à croître rapidement et à exploser en taille.
En même temps, il s'agissait d'une grande opportunité, mais aussi d'un défi.
Les requêtes visant à répondre à des questions de base mais essentielles en matière de rapports ont soudain pris des heures. En réponse, j'ai commencé à exploiter des bases de données orientées colonnes telles que BigQuery en 2013.
Ces bases de données basées sur le cloud nous ont permis d'exécuter des charges analytiques de manière performante et rentable, et de faire évoluer les ressources si nécessaire.
Ces dernières années, j'ai dirigé une grande équipe d'ingénieurs en données qui a construit un entrepôt de données BigQuery de plus de 10 milliards de pixels pour faire face à la croissance rapide du catalogue de produits d'équipement de la maison et aux besoins analytiques croissants.
Aujourd'hui, en tant que directeur technique de DataCamp, je dirige différentes équipes d'ingénierie et de contenu pour conduire et permettre à nos utilisateurs d'apprendre et de pratiquer exactement ces compétences (parmi beaucoup d'autres). Je suis convaincu que les entrepôts de données dans le cloud comme BigQuery peuvent rendre de nombreux flux de travail beaucoup plus efficaces et robustes. C'est pourquoi je souhaite partager mon expérience avec vous dans ce tutoriel.
Dans ce guide, vous apprendrez ce qu'est BigQuery, comment il fonctionne et quelles sont ses différences avec les entrepôts de données traditionnels. Vous apprendrez à utiliser la console BigQuery pour interroger des ensembles de données publiques fournis par Google, avec un exemple pratique d'interrogation de Google Trends pour en savoir plus sur les sujets populaires.
Qu'est-ce que BigQuery ?
BigQuery est un entrepôt de données entièrement géré, développé par Google, qui permet de gérer et d'analyser les données. L'architecture sans serveur de l'outil permet aux organisations d'obtenir des informations sur leur activité et de répondre rapidement aux questions. Le moteur analytique évolutif et distribué de BigQuery permet également aux utilisateurs d'interroger des pétaoctets de données à l'aide de SQL.
Les interfaces BigQuery comprennent l'interface de la console Google Cloud et l'outil de ligne de commande BigQuery. En outre, il met à la disposition des développeurs des bibliothèques clientes pour des langages populaires tels que C#, Go, Java, Node.js, PHP, Python et Ruby.
BigQuery offre des fonctionnalités intégrées d'apprentissage automatique et permet d'utiliser des modèles formés en externe dans Google Cloud Platform (GCP) VertexAI et même d'importer des modèles personnalisés formés en dehors de BigQuery.
Ce tutoriel est approprié pour les analystes de données, les ingénieurs de données et les administrateurs d'entrepôts de données en tant qu'introduction à BigQuery. Si, après ce tutoriel, vous souhaitez approfondir votre connaissance de BigQuery, notre cours d'introduction à BigQuery est un bon point de départ.
Devenez ingénieur en données
Entrepôt de données traditionnel et entrepôt de données en nuage
Un entrepôt de données traditionnel est déployé sur site, ce qui nécessite généralement des coûts initiaux élevés, une équipe qualifiée pour le gérer et une planification adéquate pour répondre à une demande croissante en raison de la nature rigide de la mise à l'échelle des ressources des centres de données traditionnels.
D'autre part, une solution d'entrepôt de données en nuage est gérée et hébergée par un fournisseur de services en nuage.
Avantages des entrepôts de données dans le cloud
Généralement, un entrepôt de données dans le cloud présente plusieurs avantages par rapport aux entrepôts de données traditionnels :
- Elles sont conçues pour s'adapter et tirer parti de la flexibilité de l'environnement cloud.
- Ils ont amélioré la vitesse et la performance
- Une tarification flexible et un environnement cloud permettent d'optimiser les coûts (par exemple, réduction de l'échelle en période de faible demande).
- Ils peuvent être entièrement ou partiellement gérés, ce qui réduit les coûts opérationnels.
Bases de données orientées lignes et colonnes
Exemple de base de données orientée ligne :
Exemple de base de données orientée colonnes :
Les bases de données orientées lignes sont bien adaptées aux charges de travail comportant des recherches de lignes complètes, l'insertion de nouveaux enregistrements et des manipulations. Inversement, cela les rend peu adaptés aux charges de travail analytiques. Par exemple, l'interrogation de quelques tableaux à partir d'un tableau comportant des dizaines de colonnes entraînerait la lecture d'une grande quantité de données inutiles (ce cas de figure est fréquent dans les charges de travail analytiques, telles que les prévisions de produits, les analyses ad hoc, etc.)
Les bases de données orientées lignes sont généralement bien adaptées au traitement des transactions en ligne (OLTP) et les bases de données orientées colonnes au traitement analytique en ligne (OLAP).
OLTP vs OLAP
- OLTP est un type de système de base de données utilisé dans les applications orientées vers les transactions. L'expression "en ligne" signifie que ces systèmes sont censés répondre aux demandes des utilisateurs et les traiter en temps réel (c'est-à-dire traiter des transactions).
- Ce terme s'oppose au traitement analytique en ligne (OLAP), qui se concentre plutôt sur l'analyse des données.
Résumé de la comparaison :
Base de données orientée lignes |
Base de données orientée colonnes |
||||||
Stockage |
Par rang |
Par colonne |
|||||
Recherche de données |
Dossiers complets |
Des colonnes révélatrices |
|||||
Application typique |
OLTP |
OLAP |
|||||
Opérations rapides |
Insertion, mise à jour, recherche |
Interrogation à des fins de reporting |
|||||
Données de chargement |
Généralement un enregistrement à la fois |
Généralement par lots |
|||||
Options populaires |
Postgres, MySQL, Oracle, Microsoft SQL Server |
Snowflake, Google BigQuery, Amazon Redshift |
Comment fonctionne BigQuery ?
L'une des principales caractéristiques de BigQuery est la séparation du moteur de calcul et du stockage, ce qui permet de les faire évoluer séparément, en fonction des besoins et à la demande. Les utilisateurs peuvent ainsi interroger des téraoctets de données en quelques secondes et des pétaoctets en quelques minutes.
Lorsque BigQuery exécute une requête, le moteur de requête distribue le travail en parallèle, en analysant les tableaux pertinents dans le stockage, en fusionnant les résultats et en renvoyant l'ensemble de données final.
Comment démarrer avec BigQuery
Dans cette section, nous verrons comment accéder à BigQuery et comment utiliser le bac à sable BigQuery. En règle générale, un bac à sable est un environnement de test qui est isolé et qui permet d'expérimenter facilement. Le bac à sable BigQuery vous permet de découvrir BigQuery sans avoir à fournir de carte de crédit ou à créer un compte de facturation pour votre projet.
Il est possible d'accéder à BigQuery par l'intermédiaire de Google Cloud Console. Vous devez vous connecter avec un compte de messagerie Gsuite (ou en créer un). Une fois connecté, un écran de bienvenue devrait s'afficher :
Vous trouverez BigQuery dans la barre de menu de gauche. En cliquant dessus, vous accéderez à l'écran ci-dessous :
Utiliser le bac à sable BigQuery
Pour utiliser BigQuery sandbox, créez d'abord un projet en cliquant sur "Select Project".
Cliquez ensuite sur "Nouveau projet" :
Vous devrez fournir un nom de projet ; pour ce guide, nous utiliserons datacamp-guide-project
Un avis de bac à sable est maintenant affiché sur la page BigQuery, indiquant que vous avez activé avec succès le bac à sable BigQuery.
Le bac à sable BigQuery étant désormais activé, vous pouvez utiliser votre nouveau projet pour charger des données et effectuer des requêtes, ainsi que pour interroger les ensembles de données publiques de Google.
Créer un jeu de données et un tableau
Avant de créer un tableau, vous devez créer un jeu de données dans votre nouveau projet. Un ensemble de données est un conteneur de premier niveau utilisé pour organiser et contrôler l'accès à un ensemble de tableaux et de vues. Pour créer un jeu de données, cliquez sur l'icône "Actions" du projet :
Pour les besoins de ce guide, nous remplirons le champ "Dataset ID" par "main".
Vous pouvez créer un tableau à l'aide de SQL. BigQuery utilise GoogleSQL, qui est conforme à la norme ANSI.
create table datacamp-guide-project.main.users ( id INT64 not null, first_name STRING NOT NULL, middle_name STRING, -- can be null last_name STRING NOT NULL, active_account BOOL NOT NULL, );
Vous pouvez également utiliser l'interface BigQuery Console :
Note: Il n'est pas possible d'insérer des données dans un environnement de bac à sable. Si vous souhaitez essayer d'insérer des données, vous devez activer l'essai gratuit. Les sections suivantes portent sur l'interrogation des ensembles de données publiques fournis dans le cadre de Google Cloud.
Interroger un jeu de données public à l'aide de BigQuery Console
Pour interroger un jeu de données publiques, suivez les étapes ci-dessous :
1. Cliquez sur "Ajouter" à côté d'Explorer.
2. Choisissez ensuite un ensemble de données.
3. Recherchez "Google Trends" et choisissez Google Trends, puis cliquez sur le bouton "View dataset".
4. bigquery-public-data affichera une longue liste d'ensembles de données. Démarrer bigquery-public-data pour qu'il devienne "stick" dans l'explorateur
Un exemple pratique utilisant l'ensemble de données de Google Trends
Nous nous appuierons sur le tableau top_terms
:
Cliquez sur le tableau top_terms
pour l'ouvrir et inspectez les tableaux Détails et Aperçu pour en savoir plus sur les données top_terms
.
Vous pouvez interroger l'ensemble de données, comme dans l'exemple ci-dessous, pour obtenir les termes qui se sont classés en première position au cours des deux dernières semaines :
SELECT
term
FROM bigquery-public-data.google_trends.top_terms WHERE -- Filter only for first rank rank = 1 -- Filter to the last 2 weeks. AND refresh_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 2 WEEK) GROUP BY term
Résultats (variables) :
Prochaines étapes
Vous êtes maintenant prêt à utiliser BigQuery. Google Cloud offre une période d'essai gratuite de 300 $. BigQuery propose différentes options de paiement. Pour les requêtes, vous bénéficiez de 1 To gratuit par mois, et au-delà, vous payez 6,25 $ par To. Vous trouverez plus d'informations sur les prix sur la page des prix.
Pour ceux qui sont intéressés par une compréhension complète de l'ingénierie des données, y compris le travail avec des entrepôts de données basés sur le cloud comme BigQuery, DataCamp propose un cursus d'apprentissage pour les ingénieurs de données qui couvre tout, des bases aux sujets avancés.
Vous pouvez également consulter notre antisèche pour une comparaison entre AWS, Azure et Google Cloud Platform afin d'avoir un aperçu plus approfondi des outils disponibles.
Obtenez une certification pour le poste de Data Engineer de vos rêves
Nos programmes de certification vous aident à vous démarquer et à prouver aux employeurs potentiels que vos compétences sont adaptées à l'emploi.


DataCamp Chief Technology Officer et General Manager of Learning Platform. Dans le cadre de mes fonctions, je dirige les équipes chargées de mettre au point la technologie et le programme d'études qui alimentent l'expérience des apprenants de DataCamp.