Gérer les sessions et les E/S BigQuery DataFrames
La gestion des sessions et des opérations d'E/S dans BigQuery DataFrames vous permet de contrôler votre environnement d'exécution et de déplacer des données vers et depuis vos workflows. Vous pouvez configurer vos sessions pour contrôler l'emplacement d'exécution de vos requêtes, et effectuer des opérations d'E/S pour lire et écrire des données en mémoire, des fichiers Cloud Storage et des tables BigQuery.
Sessions BigQuery
BigQuery DataFrames utilise un objet de session local pour gérer les métadonnées en interne. Chaque objet DataFrame et Series se connecte à une session, chaque session se connecte à un emplacement et chaque requête d'une session s'exécute dans l'emplacement où vous avez créé la session. Utilisez l'exemple de code suivant pour créer manuellement une session et l'utiliser pour charger des données :
Vous ne pouvez pas combiner les données de plusieurs instances de session, même si vous les initialisez avec les mêmes paramètres. L'exemple de code suivant montre que la tentative de combinaison de données provenant de différentes instances de session entraîne une erreur :
Session globale
BigQuery DataFrames fournit une session globale par défaut à laquelle vous pouvez accéder avec la méthode bigframes.pandas.get_global_session(). Dans Colab, vous devez fournir un ID du projet pour l'attribut bigframes.pandas.options.bigquery.project avant de l'utiliser. Vous pouvez également définir un emplacement avec l'attribut bigframes.pandas.options.bigquery.location, qui est défini par défaut sur l'emplacement multirégional US.
L'exemple de code suivant montre comment définir des options pour la session globale :
Pour réinitialiser l'emplacement ou le projet de la session globale, fermez la session en cours en exécutant la méthode bigframes.pandas.close_session().
De nombreuses fonctions intégrées de BigQuery DataFrames utilisent la session globale par défaut. L'exemple de code suivant montre comment les fonctions intégrées utilisent la session globale :
Données en mémoire
Vous pouvez créer des objets DataFrames et Series avec des structures de données Python ou NumPy intégrées, de la même manière que vous créez des objets avec pandas. Utilisez l'exemple de code suivant pour créer un objet :
Pour convertir des objets pandas en objets DataFrames à l'aide de la méthode ou des constructeurs read_pandas(), utilisez l'exemple de code suivant :
Pour utiliser la méthode to_pandas() afin de charger des données BigQuery DataFrames dans votre mémoire, utilisez l'exemple de code suivant :
Estimation des coûts avec le paramètre dry_run
Le chargement d'une grande quantité de données peut prendre beaucoup de temps et de ressources. Pour connaître la quantité de données traitées, utilisez le paramètre dry_run=True dans l'appel to_pandas(). Utilisez l'exemple de code suivant pour effectuer un dry run :
Lire et écrire des fichiers
Vous pouvez lire les données de fichiers compatibles dans un DataFrame BigQuery DataFrames. Ces fichiers peuvent se trouver sur votre ordinateur local ou dans Cloud Storage. Utilisez l'exemple de code suivant pour lire les données d'un fichier CSV :
Pour enregistrer vos BigQuery DataFrames dans des fichiers locaux ou des fichiers Cloud Storage à l'aide de la méthode to_csv, utilisez l'exemple de code suivant :
Lire et écrire des tables BigQuery
Pour créer des BigQuery DataFrames à l'aide de références de table BigQuery et de la fonction bigframes.pandas.read_gbq, utilisez l'exemple de code suivant :
Pour utiliser une chaîne SQL avec la fonction read_gbq() afin de lire des données dans BigQuery DataFrames, utilisez l'exemple de code suivant :
Pour enregistrer votre objet DataFrame dans une table BigQuery, utilisez la méthode to_gbq() de votre objet DataFrame. L'exemple de code suivant montre comment procéder :
Étapes suivantes
- En savoir plus sur BigQuery DataFrames.
- Découvrez comment utiliser les types de données dans BigQuery DataFrames.
- Découvrez comment visualiser des graphiques à l'aide de BigQuery DataFrames.
- Explorez la documentation de référence de l'API BigQuery DataFrames.