Notebooks et outils d'analyse programmatiques
Bien que SQL soit un langage de requête puissant, les langages de programmation tels que Python, Java ou R fournissent des syntaxes et des fonctions statistiques qui peuvent être plus expressives pour les tâches d'analyse de données. Les environnements de notebook offrent une alternative très flexible aux feuilles de calcul pour l'exploration de données complexes et les workflows de machine learning (ML).
BigQuery fournit une intégration de notebook intégrée, ainsi qu'une compatibilité avec plusieurs autres solutions d'analyse programmatique.
Notebooks Colab Enterprise
Vous pouvez utiliser des notebooks Colab Enterprise dans BigQuery pour effectuer des workflows de data science et de ML de bout en bout dans une seule interface intégrée. Contrairement aux éditeurs SQL standard, les notebooks vous permettent de combiner des requêtes SQL avec du code Python, du texte enrichi et des visualisations pour raconter une histoire complète avec vos données. Les notebooks Colab Enterprise sont parfaits pour les cas d'utilisation suivants :
- Workflows de ML de bout en bout : créez, évaluez et déployez des modèles BigQuery ML dans une seule interface.
- Exploration des données : nettoyez et analysez de grands ensembles de données à l'aide des DataFrames BigQuery.
- Recherche collaborative : suivez l'historique des versions et partagez des notebooks avec vos collègues à l'aide d'Identity and Access Management (IAM).
Les notebooks Colab Enterprise offrent les avantages suivants :
- Développement optimisé par l'IA : exploitez Gemini Enterprise Agent Platform pour le développement de code assisté.
- Intégration Python fluide : utilisez l'API BigQuery DataFrames sans configuration supplémentaire.
- Fonctionnalités d'éditeur familières : profitez de la saisie semi-automatique SQL, semblable à celle de l'éditeur SQL BigQuery.
- Visualisations intégrées : utilisez des visualisations DataFrame interactives ou des bibliothèques telles que
matplotlibetseaborndirectement dans votre workflow. - Interopérabilité SQL-Python : exécutez du code SQL dans des cellules qui font référence à des variables Python.
Comprendre les cellules
Un notebook est composé de cellules que vous pouvez modifier. Les types de cellules suivants sont compatibles avec les notebooks Colab Enterprise :
Cellule de texte : utilisez une cellule de texte pour ajouter des explications et des images à votre notebook en Markdown.
Cellule de code : utilisez une cellule de code pour ajouter du code Python à votre notebook. Vous pouvez exécuter chaque cellule de code individuellement. Une cellule de code peut référencer toutes les variables créées dans une autre cellule que vous avez déjà exécutée.
Cellule SQL : utilisez une cellule SQL pour exécuter des requêtes GoogleSQL. Le résultat de la requête est automatiquement enregistré en tant que DataFrame portant le même nom que le titre de la cellule. Vous pouvez exécuter plusieurs instructions SQL dans une même cellule SQL, mais seuls les résultats de la dernière instruction sont enregistrés dans un DataFrame.
Vous pouvez faire référence à des variables Python dans des expressions ou utiliser des BigQuery DataFrames comme tables dans votre requête en plaçant le nom de la variable entre accolades (
{ }) :# Refer to the Python variable my_threshold in a SQL expression. SELECT * FROM my_dataset.my_table WHERE x > {my_threshold}; # Reference previous query results to iterate on your queries. SELECT * FROM {df};Cellule de visualisation : utilisez une cellule de visualisation pour générer automatiquement une visualisation de n'importe quel DataFrame dans votre notebook. Vous pouvez modifier les colonnes affichées et choisir parmi différents types de graphiques et d'agrégations. Vous pouvez également choisir des couleurs personnalisées, des libellés de données et des titres.
Galerie de notebooks
La galerie de notebooks est un hub centralisé qui permet de découvrir et d'utiliser des modèles de notebooks prédéfinis. Il inclut des modèles fondamentaux pour SQL, Python, Apache Spark et les DataFrames afin de vous aider à effectuer des tâches courantes telles que la préparation, l'analyse et la visualisation des données.
Gestion et sécurité de l'environnement d'exécution
Les notebooks utilisent des environnements d'exécution Colab Enterprise, qui sont des machines virtuelles Compute Engine attribuées à un utilisateur spécifique pour permettre l'exécution de code. L'accès aux notebooks est contrôlé à l'aide de rôles IAM. Pour détecter les failles dans les packages Python utilisés dans vos notebooks, vous pouvez installer et utiliser Notebook Security Scanner.
Surveillance et régions
Tous les composants de code dans BigQuery Studio sont stockés dans une région par défaut. La mise à jour de ce paramètre modifie la région pour tous les composants de code nouvellement créés. Les notebooks Colab Enterprise sont disponibles dans toutes les régions où BigQuery Studio est disponible.
Pour surveiller l'utilisation des emplacements de notebook, vous pouvez afficher votre rapport sur la facturation Cloud et appliquer un filtre pour l'étiquette goog-bq-feature-type avec la valeur BQ_STUDIO_NOTEBOOK.
Les fonctionnalités de notebook ne sont disponibles que dans la console Google Cloud .
Tarifs
Pour en savoir plus sur les tarifs des notebooks Colab Enterprise, consultez Tarifs des environnements d'exécution de notebooks.
BigQuery DataFrames
BigQuery DataFrames est un ensemble de bibliothèques Python Open Source qui vous permettent d'exploiter le traitement des données BigQuery à l'aide d'API Python connues. BigQuery DataFrames met en œuvre les API pandas et scikit-learn en envoyant le traitement à BigQuery via la conversion SQL. Cette conception vous permet d'utiliser BigQuery pour explorer et traiter des téraoctets de données, mais aussi pour entraîner des modèles de ML, le tout avec les API Python.
BigQuery DataFrames offre les avantages suivants :
- Plus de 750 API pandas et scikit-learn mises en œuvre via une conversion SQL transparente vers les API BigQuery et BigQuery ML
- Exécution différée des requêtes pour améliorer les performances
- Extension des transformations de données à l'aide de fonctions Python définies par l'utilisateur pour permettre de traiter des données dans le cloud. Ces fonctions sont automatiquement déployées en tant que fonctions distantes BigQuery.
- L'intégration à Gemini Enterprise Agent Platform afin d'utiliser des modèles Gemini pour la génération de texte
Autres solutions d'analyse programmatique
En plus de Colab Enterprise et des BigQuery DataFrames, BigQuery s'intègre à plusieurs autres solutions programmatiques :
- Notebooks Jupyter et JupyterLab : vous pouvez interagir avec BigQuery directement depuis les notebooks Jupyter à l'aide des commandes magiques IPython pour BigQuery ou des bibliothèques clientes BigQuery. Vous pouvez déployer vos environnements sur Google Cloud à l'aide d'instances Vertex AI Workbench ou de Managed Service pour Apache Spark.
- Apache Zeppelin : vous pouvez déployer des notebooks Apache Zeppelin Web pour l'analyse de données en installant le composant Zeppelin facultatif sur Managed Service pour Apache Spark.
- Apache Hadoop, Spark et Hive : Managed Service pour Apache Spark s'intègre aux connecteurs BigQuery Open Source. Ces connecteurs utilisent l'API BigQuery Storage pour transmettre les données en parallèle directement depuis BigQuery via gRPC.
- Apache Beam et Dataflow : Apache Beam est un framework Open Source qui fournit de nombreuses primitives de fenêtrage et d'analyse de sessions, ainsi qu'un écosystème de connecteurs, dont un pour BigQuery. Dataflow est un service entièrement géré qui vous permet d'exécuter ces jobs Apache Beam à grande échelle.
Autres ressources
BigQuery propose plusieurs bibliothèques clientes dans des langages tels que Java, Go, Python, JavaScript, PHP et Ruby. Certains frameworks d'analyse de données tels que pandas fournissent des plug-ins qui interagissent directement avec BigQuery. Pour ceux qui préfèrent les environnements de shell, l'outil de ligne de commande bq est disponible.