Outils et fonctionnalités pour les développeurs

Ce document offre un aperçu d'un certain nombre de fonctionnalités et d'outils qui vous aident à développer des solutions avec BigQuery.

Schéma de l'architecture BigQuery

Fonctionnalités pour les développeurs

Cette section décrit certaines fonctionnalités intégrées courantes pour les développeurs qui utilisent BigQuery.

Charger et transformer des données

BigQuery propose des méthodes de chargement par lot, de traitement par flux et de génération de données. Pour choisir la meilleure option pour votre cas d'utilisation, consultez la page Présentation du chargement des données.

Requêtes

BigQuery est optimisé pour exécuter des requêtes analytiques écrites en GoogleSQL sur des ensembles de données volumineux. Vous pouvez planifier, enregistrer et partager des requêtes qui s'exécutent sur des données stockées dans BigQuery, des données externes, des données stockées dans d'autres clouds ou des ensembles de données publics.

Fonctions à distance

Les fonctions à distance vous permettent de déployer vos fonctions dans Cloud Functions ou Cloud Run, puis de les appeler directement à partir de vos requêtes GoogleSQL. Cette approche est particulièrement utile si vous devez implémenter vos fonctions dans des langages autres que SQL ou JavaScript. Vous pouvez utiliser des fonctions à distance pour de nombreuses opérations, par exemple traduire le texte d'une table d'un langage à un autre, lancer des actions telles qu'une notification lorsque les valeurs d'une table passent en dessous d'un seuil ou exécuter des transformations par lot comme appliquer un modèle de machine learning (ML).

Machine learning

Vous pouvez utiliser BigQuery ML pour créer et exécuter des modèles de ML à l'aide de requêtes Google SQL.

Procédures stockées dans SQL

Vous pouvez utiliser des procédures stockées dans SQL pour appeler des collections d'instructions à partir d'autres requêtes ou procédures stockées. Vous pouvez appeler des procédures stockées intégrées ou écrire vos propres procédures, ce qui vous permet de définir des variables et d'implémenter un flux de contrôle.

et semi-structurées

Vous pouvez utiliser des données JSON dans GoogleSQL pour ingérer des données semi-structurées dans BigQuery sans fournir de schéma au préalable. Vous pouvez utiliser l'opérateur d'accès aux champs pour interroger directement les valeurs des champs et des éléments de tableau.

Fonctionnalité temporelle

Vous pouvez utiliser les fonctionnalités temporelles pour accéder aux données stockées dans BigQuery qui ont été modifiées ou supprimées à tout moment au cours des sept derniers jours. Cette fonctionnalité vous permet de restaurer des tables mises à jour, supprimées ou arrivées à expiration, même si vous n'avez pas sauvegardé vos données.

Instantanés de table

Vous pouvez utiliser des instantanés de table lorsque vous devez sauvegarder votre table à partir d'un moment précis au-delà de la fenêtre de fonctionnalité temporelle. BigQuery ne stocke que les octets qui diffèrent entre un instantané et sa table de base. Par conséquent, un instantané de table utilise généralement moins d'espace de stockage qu'une copie complète de la table.

Clones de tables

Vous pouvez utiliser des clones de table pour gérer les versions de tables et tester les modifications de schéma de table. Un clone de table est une copie légère et accessible en écriture d'une autre table. Seul le stockage des données qui diffèrent entre le clone de la table et la table de base vous est facturé. Initialement, vous ne payez donc pas de coût de stockage pour un clone de table.

Tables externes

Vous pouvez interroger des tables externes directement à partir de BigQuery, par exemple des données dans une autre base de données Google Cloud, des fichiers dans Cloud Storage ou dans un autre produit cloud. Cette fonctionnalité vous permet d'effectuer des charges de travail ELT en une seule requête ou de joindre des tables BigQuery avec des données qui changent fréquemment à partir d'une autre source.

Fonctions définies par l'utilisateur

Vous pouvez écrire des fonctions définies par l'utilisateur dans GoogleSQL ou JavaScript, qui peuvent être réutilisées pour des requêtes. Vous pouvez autoriser une fonction définie par l'utilisateur en tant que routine, ce qui vous permet de partager les résultats de la requête avec des utilisateurs ou des groupes spécifiques, sans leur donner accès aux tables sous-jacentes.

API BigQuery

BigQuery propose des API REST et gRPC pour une interface de programmation avec ses différents types de services. Vous pouvez authentifier l'identité de votre client pour accéder aux API à l'aide de comptes de service ou de comptes utilisateur. Les API suivantes sont disponibles :

Pour en savoir plus sur ce que chaque API propose, consultez la page Présentation des API et des bibliothèques BigQuery.

Bibliothèque BigQuery DataFrames

BigQuery DataFrames est une API Python que vous pouvez utiliser pour analyser des données et effectuer des tâches de machine learning dans BigQuery. Vous pouvez consulter le code source de l'API sur GitHub.

Découvrez BigQuery DataFrames en consultant le guide de démarrage rapide sur BigQuery DataFrames.

Bibliothèques clientes

Les bibliothèques clientes vous permettent d'accéder directement aux API BigQuery à l'aide du langage de programmation de votre choix, y compris C#, Go, Java, Node.js, PHP, Python et Ruby. Pour afficher ces ressources pour l'API BigQuery, sélectionnez l'un des langages suivants :

C#

Go

Java

Node.js

PHP

Python

Ruby

Pour en savoir plus sur l'utilisation des bibliothèques clientes BigQuery dans votre environnement local, consultez la page Bibliothèques clientes de l'API BigQuery.

Exemples de code

Vous pouvez parcourir les exemples de code BigQuery qui fournissent des extraits complets pour effectuer des tâches courantes dans BigQuery, comme créer des tables, répertorier des connexions, afficher des engagements de capacité et des réservations, et charger données. Pour afficher un exemple, sélectionnez une API, une tâche et le langage de votre choix.

Outils et services de programmation

Les services suivants sont intégrés à BigQuery, offrant des fonctionnalités supplémentaires pour créer des solutions :

  • Dataproc. Service entièrement géré pour l'exécution de jobs Apache Hadoop et Apache Spark Dataproc fournit le connecteur BigQuery, qui permet à Hadoop et Spark de traiter directement les données depuis BigQuery.
  • Dataflow. Service entièrement géré permettant d'exécuter des jobs Apache Beam à grande échelle. Le connecteur d'E/S BigQuery pour Beam permet aux pipelines Beam de lire et d'écrire des données vers et depuis BigQuery.
  • Cloud Composer. Service d'orchestration de flux de travail entièrement géré conçu à partir d'Apache Airflow Les opérateurs BigQuery permettent aux workflows Airflow de gérer les ensembles de données et les tables, d'exécuter des requêtes et de valider des données.
  • Pub/Sub. Service de messagerie asynchrone et évolutif. Pub/Sub fournit des abonnements BigQuery pour écrire des messages dans une table BigQuery existante à mesure qu'ils sont reçus.

Intégration et déploiement continus

Les options suivantes vous aident à gérer et à automatiser votre workflow de développeur avec BigQuery :

  • Module BigQuery Terraform. Module permettant d'automatiser l'instanciation et le déploiement de vos ensembles de données et tables BigQuery.
  • Outil de ligne de commande bq Outil de ligne de commande basé sur Python pour BigQuery.
  • Dataform. Service permettant aux analystes de données de développer, de tester, de contrôler les versions et de planifier des workflows SQL complexes pour la transformation de données dans BigQuery.
  • dbt. Framework permettant d'orchestrer et de déployer des workflows, de tester et de cataloguer vos données, et de réutiliser des fragments de code sous forme de macros.
  • Liquibase. Solution de gestion des modifications de schéma de base de données qui vous permet de modifier et de publier des modifications rapidement et en toute sécurité, du développement à la production.

Pilotes ODBC et JDBC

Les pilotes Open Database Connectivity (ODBC) et Java Database Connectivity (JDBC) vous permettent d'écrire des applications logicielles neutres en base de données dans des langages de programmation courants afin de connecter BigQuery à votre infrastructure existante. Pour en savoir plus et sur les dernières versions des pilotes, consultez la page Pilotes ODBC et JDBC pour BigQuery.

Étapes suivantes