Utiliser BigQuery DataFrames
BigQuery DataFrames fournit un DataFrame en Python et une API de machine learning (ML) basés sur le moteur BigQuery. BigQuery DataFrames est un package Open Source.
Vous pouvez exécuter pip install --upgrade bigframes
pour installer la dernière version.
BigQuery DataFrames fournit deux bibliothèques :
bigframes.pandas
, qui fournit une API compatible avec Pandas pour les données analytiques.bigframes.ml
, qui fournit une API semblable à scikit-learn pour le machine learning (ML).
Autorisations requises
- Vous devez disposer des rôles Utilisateur du job BigQuery et Utilisateur de session de lecture BigQuery pour utiliser BigQuery DataFrames.
- Lorsque vous effectuez l'authentification d'un utilisateur final dans un environnement interactif tel qu'un notebook, un REPL Python ou la ligne de commande, BigQuery DataFrames vous invite à procéder à une authentification si nécessaire. Sinon, consultez comment configurer les identifiants par défaut de l'application pour différents environnements.
- Des exigences supplémentaires concernant Identity and Access Management (IAM) s'appliquent à l'utilisation des fonctions distantes et des modèles ML distants.
-
Pour utiliser BigQuery DataFrames dans un notebook BigQuery, vous devez disposer des rôles IAM suivants :
Options
Après l'installation, vous devez spécifier l'emplacement et le projet dans lesquels vous souhaitez utiliser BigQuery DataFrames. Vous pouvez définir l'emplacement et le projet dans votre notebook de la manière suivante :Si la valeur de bf.options.bigquery.project
n'est pas définie, la variable d'environnement $GOOGLE_CLOUD_PROJECT
est utilisée. Elle est spécifiée dans l'environnement d'exécution de notebook qui met en service les notebooks BigQuery Studio et Vertex AI.
Emplacement de traitement des données
BigQuery DataFrames est conçu pour l'évolutivité, ce qui est obtenu en conservant les données et le traitement sur le service BigQuery. Toutefois, vous pouvez importer des données dans la mémoire de votre machine cliente en appelant .to_pandas()
sur un objet DataFrame ou Series. Si vous choisissez de le faire, la limite de mémoire de votre machine cliente s'applique.
Lieu de la séance
BigQuery DataFrames utilise un objet de session local pour gérer les métadonnées en interne. Cette session est associée à un emplacement.
BigQuery DataFrames utilise l'emplacement multirégional US
par défaut, mais vous pouvez utiliser session_options.location
pour définir un emplacement différent. Chaque requête d'une session est exécutée dans l'emplacement où la session a été créée.
BigQuery DataFrames renseigne automatiquement bf.options.bigquery.location
avec l'emplacement de la table si l'utilisateur commence par read_gbq/read_gbq_table/read_gbq_query()
et spécifie une table, directement ou dans une instruction SQL.
Si vous souhaitez réinitialiser l'emplacement des objets DataFrame ou Series créés, vous pouvez fermer la session en exécutant bigframes.pandas.close_session()
.
Vous pouvez ensuite réutiliser bigframes.pandas.options.bigquery.location
pour spécifier un autre emplacement.
read_gbq()
vous oblige à spécifier un emplacement si l'ensemble de données que vous interrogez ne se trouve pas dans la zone multirégionale US
. Si vous essayez de lire une table à partir d'un autre emplacement, une exception NotFound
est générée.
Types de données
Les objets BigQuery DataFrames acceptent les dtypes numpy et pandas suivants :
BigQuery | Objets BigQuery DataFrames et pandas |
---|---|
ARRAY |
pandas.ArrowDtype(pa.list_()) |
BOOL |
pandas.BooleanDtype() |
DATE |
pandas.ArrowDtype(pa.date32()) |
DATETIME |
pandas.ArrowDtype(pa.timestamp("us")) |
FLOAT64 |
pandas.Float64Dtype() |
GEOGRAPHY |
Soutenu par |
INT64 |
pandas.Int64Dtype() |
STRING |
pandas.StringDtype(storage="pyarrow") |
STRUCT |
pandas.ArrowDtype(pa.struct()) |
TIME |
pandas.ArrowDtype(pa.time64("us")) |
TIMESTAMP |
pandas.ArrowDtype(pa.timestamp("us", tz="UTC")) |
BigQuery DataFrames n'accepte pas les types de données BigQuery suivants :
NUMERIC
BIGNUMERIC
INTERVAL
RANGE
JSON
Tous les autres types de données BigQuery s'affichent sous la forme de type d'objet.
Mode d'ordonnancement partiel
BigQuery DataFrames propose une fonctionnalité de mode de tri. Définissez ordering_mode
sur partial
pour générer des requêtes plus efficaces.
Le mode de tri partial
contraste avec le mode strict
par défaut, qui crée un tri total sur toutes les lignes. Un tri total rend les BigQuery DataFrames plus compatible avec pandas en fournissant un accès basé sur l'ordre aux lignes avec la propriété DataFrame.iloc
. Toutefois, le tri total et l'index séquentiel par défaut de ce tri signifient que ni les filtres de colonne ni les filtres de ligne ne réduisent le nombre d'octets analysés, sauf si ces filtres sont appliqués en tant que paramètres aux fonctions read_gbq
et read_gbq_table
. Pour fournir un tri total sur toutes les lignes du DataFrame, BigQuery DataFrames crée un hachage de toutes les lignes. Cela peut entraîner une analyse complète des données qui ignore les filtres de ligne et de colonne.
Si vous définissez la propriété ordering_mode
sur partial
, BigQuery DataFrames ne génère pas de tri total des lignes. Le mode de tri partiel désactive également les fonctionnalités qui nécessitent un tri total de toutes les lignes, comme la propriété DataFrame.iloc
. Le mode de tri partiel définit DefaultIndexKind
sur un index nul, au lieu d'un index séquentiel basé sur le tri.
Lorsque vous filtrez un DataFrame avec ordering_mode
défini sur partial
, BigQuery DataFrames n'a plus besoin de calculer les lignes manquantes dans l'index séquentiel. Il génère donc des requêtes plus rapides et plus efficaces. L'API BigQuery DataFrames est toujours semblable à pandas, tout comme l'expérience par défaut avec le mode de tri strict. Toutefois, le mode de tri partiel diffère du comportement habituel de pandas. Par exemple, il n'effectue pas de jointures implicites par index.
Avec les modes d'ordonnancement partiel et strict, vous payez les ressources BigQuery que vous utilisez. Toutefois, l'utilisation du mode d'ordonnancement partiel peut réduire les coûts lorsque vous travaillez avec de grandes tables en cluster et/ou partitionnées, car les filtres de ligne sur les colonnes de cluster et de partition réduisent le nombre d'octets traités.
Utilisation
Pour utiliser le tri partiel, définissez ordering_mode
sur partial
avant d'effectuer toute autre opération avec BigQuery DataFrames, comme illustré dans l'exemple de code suivant :
Comme il n'existe pas d'index séquentiel avec le mode de tri partiel, les dataframes BigQuery DataFrames non associés ne sont pas joints implicitement. Vous devez plutôt appeler explicitement la méthode DataFrame.merge
pour joindre deux dataframes BigQuery DataFrames qui proviennent de différentes expressions de table.
Les fonctionnalités Series.unique()
et Series.drop_duplicates()
ne sont pas compatibles avec le mode de tri partiel. Utilisez plutôt la méthode groupby
pour rechercher des valeurs uniques de cette manière :
Avec le mode de tri partiel, le résultat des fonctions DataFrame.head(n)
et Series.head(n)
n'est pas garanti comme idempotent pour toutes les invocations.
Pour télécharger un petit échantillon arbitraire des données, utilisez les méthodes DataFrame.peek()
ou Series.peek()
.
Pour un tutoriel détaillé dans lequel vous utilisez la propriété ordering_mode = "partial"
, consultez ce notebook BigQuery DataFrames qui montre comment utiliser le mode de tri partiel.
Dépannage
Erreur de commande requise
Certaines fonctionnalités nécessitent d'être triées, comme les fonctions DataFrame.head()
et DataFrame.iloc
. Pour obtenir la liste des fonctionnalités qui nécessitent d'être triées, consultez la colonne Tri nécessaire dans la section API pandas compatibles.
En l'absence de tri sur l'objet, l'opération échoue et un message OrderRequiredError
semblable au suivant s'affiche :
OrderRequiredError: Op iloc requires an ordering. Use .sort_values or .sort_index
to provide an ordering.
Comme l'indique le message d'erreur, vous pouvez effectuer un tri à l'aide de la méthode DataFrame.sort_values()
pour trier par colonne ou par colonnes. D'autres opérations, telles que l'opération DataFrame.groupby()
, fournissent implicitement un tri total sur les clés de regroupement.
Si le tri ne peut pas être déterminé comme un tri total entièrement stable sur toutes les lignes, les opérations suivantes peuvent vous avertir par un message AmbiguousWindowWarning
semblable à celui-ci :
AmbiguousWindowWarning: Window ordering may be ambiguous, this can cause unstable
results.
Si votre charge de travail peut accepter des résultats non déterministes ou si vous pouvez vérifier manuellement que le tri que vous fournissez est un tri total, vous pouvez filtrer le message AmbiguousWindowWarning
de la manière suivante :
Erreur d'index nul
Certaines fonctionnalités nécessitent un index, comme les propriétés DataFrame.unstack()
et Series.interpolate()
. Pour obtenir la liste des fonctionnalités qui nécessitent un index, consultez la colonne Nécessite un index dans la section API pandas compatibles.
Lorsque vous utilisez une opération qui nécessite un index avec le mode de tri partiel, l'opération génère un message NullIndexError
semblable à celui-ci :
NullIndexError: DataFrame cannot perform interpolate as it has no index. Set an index using
set_index.
Comme l'indique le message d'erreur, vous pouvez fournir un index à l'aide de la méthode DataFrame.set_index()
pour trier par colonne ou par colonnes. D'autres opérations, telles que l'opération DataFrame.groupby()
, fournissent implicitement un index sur les clés de regroupement, sauf si le paramètre as_index=False
est défini.
Utiliser la bibliothèque bigframes.pandas
La bibliothèque bigframes.pandas
fournit une API semblable à pandas que vous pouvez utiliser pour analyser et manipuler des données dans BigQuery. L'API bigframes.pandas
est évolutive pour prendre en charge le traitement de téraoctets de données BigQuery et utilise le moteur de requêtes BigQuery pour effectuer des calculs. Pour en savoir plus, consultez la section API pandas compatibles.
L'API bigframes.pandas
offre les fonctionnalités suivantes:
Entrées et sorties
Vous pouvez accéder aux données à partir de diverses sources, y compris les fichiers CSV locaux, les fichiers Cloud Storage, les objets DataFrames pandas
, les modèles et les fonctions BigQuery, puis les charger dans un DataFrame BigQuery DataFrames. Vous pouvez également créer des tables BigQuery à partir de BigQuery DataFrames.
Manipulation de données
Vous pouvez utiliser Python au lieu de SQL pour votre développement. Vous pouvez développer toutes les manipulations de données BigQuery en Python, ce qui vous évite d'avoir à passer d'un langage à un autre et d'essayer de capturer des instructions SQL en tant que chaînes de texte. L'API bigframes.pandas
propose plus de 750 fonctions pandas
.
Écosystème et visualisations Python
L'API bigframes.pandas
est une passerelle vers l'ensemble de l'écosystème d'outils Python. L'API accepte les opérations statistiques avancées et vous pouvez visualiser les agrégations générées à partir de BigQuery DataFrames. Vous pouvez également passer d'un DataFrame BigQuery DataFrames à un DataFrame pandas
avec des opérations d'échantillonnage intégrées.
Fonctions Python personnalisées
BigQuery DataFrames vous permet de transformer vos fonctions scalaires personnalisées en fonctions distantes BigQuery. La création d'une fonction distante dans BigQuery DataFrames crée :
une connexion BigQuery. Par défaut, une connexion du nom
bigframes-default-connection
est utilisée. Si vous préférez, vous pouvez utiliser une connexion BigQuery préconfigurée. Dans ce cas, la création de la connexion est ignorée.Le compte de service pour la connexion par défaut se voit attribuer le rôle IAM Demandeur Cloud Run (
roles/run.invoker
).Fonction distante BigQuery qui utilise la fonction cloud (1) via la connexion BigQuery (2).
Pour obtenir un exemple, consultez la section Créer une fonction distante.
Les connexions BigQuery sont créées au même emplacement que la session BigQuery DataFrames, en utilisant le nom que vous fournissez dans la définition de la fonction personnalisée. Pour afficher et gérer les connexions, procédez comme suit :
Accédez à BigQuery dans la console Google Cloud.
Sélectionnez le projet dans lequel vous avez créé la fonction à distance.
Dans le volet "Explorateur", développez le projet, puis les connexions externes.
Les fonctions distantes BigQuery sont créées dans l'ensemble de données que vous spécifiez ou dans un ensemble de données anonyme, un type d'ensemble de données masqué. Si vous ne définissez pas de nom pour une fonction distante lors de sa création, BigQuery DataFrames applique un nom par défaut commençant par le préfixe bigframes
. Pour afficher et gérer les fonctions distantes créées dans un ensemble de données spécifié par l'utilisateur, procédez comme suit :
Accédez à BigQuery dans la console Google Cloud.
Sélectionnez le projet dans lequel vous avez créé la fonction à distance.
Dans le volet "Explorateur", développez le projet, l'ensemble de données dans lequel vous avez créé la fonction distante, puis développez les routines.
Pour afficher et gérer les fonctions Cloud Run Functions, utilisez la page Fonctions et le sélecteur de projet pour sélectionner le projet dans lequel vous avez créé la fonction. Pour faciliter l'identification, les noms des fonctions créées par BigQuery DataFrames sont précédés de bigframes
.
Vous pouvez nettoyer les fonctions distantes BigQuery sans nom et leurs fonctions Cloud Run Functions associées de la manière suivante :
- Pour une
session
BigQuery DataFrames, utilisezsession.close()
. - Pour la session BigQuery DataFrames par défaut, utilisez
bigframes.pandas.close_session()
. - Pour une session passée avec
session_id
, utilisezbigframes.pandas.clean_up_by_session_id(session_id)
.
Conditions requises
Pour utiliser les fonctions distantes BigQuery DataFrames, vous devez activer les API suivantes :
L'API BigQuery (
bigquery.googleapis.com
)L'API BigQuery Connection (
bigqueryconnection.googleapis.com
)L'API Cloud Functions (
cloudfunctions.googleapis.com
)L'API Cloud Run Admin (
run.googleapis.com
)L'API Artifact Registry (
artifactregistry.googleapis.com
)L'API Cloud Build (
cloudbuild.googleapis.com
)L'API Compute Engine (
compute.googleapis.com
)L'API Cloud Resource Manager (
cloudresourcemanager.googleapis.com
)Vous pouvez éviter cette exigence en définissant l'option
bigframes.pandas.options.bigquery.skip_bq_connection_check
surTrue
. Dans ce cas, la connexion (par défaut ou préconfigurée) est utilisée telle quelle sans vérifier l'existence de la connexion ou la vérification de ses autorisations.
Pour utiliser les fonctions distantes BigQuery DataFrames, vous devez disposer des rôles IAM suivants dans le projet :
Éditeur de données BigQuery (
roles/bigquery.dataEditor
)Administrateur BigQuery Connection (
roles/bigquery.connectionAdmin
)Développeur Cloud Functions (
roles/cloudfunctions.developer
)Utilisateur du compte de service (
roles/iam.serviceAccountUser
)Lecteur des objets Storage (
roles/storage.objectViewer
)Administrateur de projet IAM (
roles/resourcemanager.projectIamAdmin
) si vous utilisez la connexion BigQuery par défaut, ou via navigateur (roles/browser) si vous utilisez une connexion préconfigurée. Cette exigence peut être évitée en définissant l'optionbigframes.pandas.options.bigquery.skip_bq_connection_check
surTrue
, auquel cas la connexion (par défaut ou préconfigurée) serait utilisée telle quelle, sans aucune vérification d'existence ni d'autorisation. Si vous utilisez la connexion préconfigurée et que vous ignorez la vérification des connexions, assurez-vous que la connexion est créée au bon endroit et que son compte de service dispose du rôle de demandeur Cloud Run (roles/run.invoker
) pour le projet.
Limites
Les fonctions distantes sont disponibles en environ 90 secondes lorsque vous les créez.
Des modifications mineures dans le notebook, telles que l'insertion d'une nouvelle cellule ou le changement de nom d'une variable, peuvent entraîner la recréation de la fonction distante, même si ces modifications ne sont pas liées au code de la fonction distante.
BigQuery DataFrames ne fait aucune distinction entre les données à caractère personnel que vous incluez dans le code de la fonction distante. Le code de la fonction distante est sérialisé en tant que cadre opaque pour être déployé en tant que fonction Cloud Run Functions.
Les fonctions Cloud Run Functions (2e génération), les connexions BigQuery et les fonctions distantes BigQuery créées par BigQuery DataFrames persistent dans Google Cloud. Si vous ne souhaitez pas conserver ces ressources, vous devez les supprimer séparément à l'aide d'une interface appropriée BigQuery ou Cloud Run Functions.
Un projet peut contenir jusqu'à 1 000 fonctions Cloud Run Functions (2e génération) à la fois. Pour connaître toutes les limites, consultez la page Quotas de Cloud Run Functions.
Exemples d'instructions bigframes.pandas
Les exemples suivants illustrent des utilisations courantes de bigframes.pandas
.
Charger des données à partir d'une table ou d'une requête BigQuery
Vous pouvez créer un DataFrame à partir d'une table ou d'une requête BigQuery de la manière suivante :
Charger des données à partir d'un fichier CSV
Vous pouvez créer un DataFrame à partir d'un fichier CSV local ou Cloud Storage de la manière suivante :
Inspecter et manipuler des données
Vous pouvez utiliser bigframes.pandas
pour effectuer des opérations d'inspection et de calcul des données.
L'exemple de code suivant montre comment utiliser bigframes.pandas
pour inspecter la colonne body_mass_g
, calculer la moyenne body_mass
et calculer la moyenne body_mass
par species
:
Utiliser la bibliothèque bigframes.ml
Les fonctionnalités de ML de BigQuery DataFrames vous permettent de prétraiter les données, puis d'entraîner des modèles sur ces données. Vous pouvez également associer ces actions pour créer des pipelines de données.
Emplacements de ML
bigframes.ml
est disponible dans les mêmes emplacements que BigQuery ML.
La prédiction de modèle BigQuery ML et d'autres fonctions de ML sont acceptées dans toutes les régions BigQuery. La compatibilité de l'entraînement de modèle varie selon les régions. Pour en savoir plus, consultez la page Emplacements BigQuery ML.
Procéder au prétraitement des données
Créez des transformateurs pour préparer les données à utiliser dans des estimateurs (modèles) à l'aide des modules bigframes.ml.preprocessing et bigframes.ml.compose. BigQuery DataFrames propose les transformations suivantes :
Utilisez la classe KBinsDiscretizer dans le module
bigframes.ml.preprocessing
pour regrouper des données continues en intervalles.Utilisez la classe LabelEncoder dans le module
bigframes.ml.preprocessing
pour normaliser les étiquettes cibles sous forme de valeurs entières.Utilisez la classe MaxAbsScaler dans le module
bigframes.ml.preprocessing
pour adapter chaque caractéristique à la plage[-1, 1]
en fonction de sa valeur absolue maximale.Utilisez la classe MinMaxScaler dans le module
bigframes.ml.preprocessing
pour standardiser les caractéristiques en les ajustant à la plage[0, 1]
.Utilisez la classe StandardScaler dans le module
bigframes.ml.preprocessing
pour standardiser les caractéristiques en supprimant la moyenne et en les ajustant à la variance unitaire.Utilisez la classe OneHotEncoder dans le module
bigframes.ml.preprocessing
pour transformer les valeurs catégorielles en format numérique.Utilisez la classe ColumnTransformer dans le module
bigframes.ml.compose
pour appliquer des transformateurs aux colonnes DataFrames.
Entraîner des modèles
Créer des estimateurs pour entraîner des modèles dans BigQuery DataFrames.
Modèles de clustering
Créez des estimateurs pour les modèles de clustering à l'aide du module bigframes.ml.cluster.
- Utilisez la classe KMeans pour créer des modèles de clustering en k-moyennes. Utilisez ces modèles pour la segmentation des données. Par exemple, pour identifier des segments de clientèle. Les k-moyennes étant une technique d'apprentissage non supervisée, l'entraînement ou l'évaluation du modèle ne nécessitent pas d'étiquettes ni de données fractionnées.
Vous pouvez utiliser le module bigframes.ml.cluster
pour créer des estimateurs pour les modèles de clustering.
L'exemple de code suivant montre comment utiliser la classe bigframes.ml.cluster KMeans
pour créer un modèle de clustering en k-moyennes pour la segmentation des données :
Modèles de décomposition
Créez des estimateurs pour les modèles de décomposition à l'aide du module bigframes.ml.decomposition.
- Utilisez la classe d'analyse des composants principaux pour créer des modèles d'analyse des composants principaux. Utilisez ces modèles pour calculer les composants principaux et les utiliser pour effectuer un changement de base sur les données. Cela permet de réduire la dimensionnalité en ne projetant chaque point de données que sur les premiers composants principaux afin d'obtenir des données de dimension inférieure tout en conservant autant que possible les variations de données.
Modèles ensemblistes
Créez des estimateurs pour les modèles d'ensemble à l'aide du module bigframes.ml.ensemble.
Utilisez la classe RandomForestClassifier pour créer des modèles de classificateur de forêt d'arbres décisionnels. Utilisez ces modèles pour construire plusieurs arbres de décision de méthodes d'apprentissage pour la classification.
Utilisez la classe RandomForestRegressor pour créer des modèles de régression de forêt d'arbres décisionnels. Utilisez ces modèles pour créer plusieurs arbres de décision de méthode d'apprentissage pour la régression.
Utilisez la classe XGBClassifier pour créer des modèles de classificateur d'arbre de décision à boosting de gradient. Utilisez ces modèles pour créer de manière additive plusieurs arbres de décision de méthode d'apprentissage pour la classification.
Utilisez la classe XGBRegressor pour créer des modèles de régression d'arbre de décision à boosting de gradient. Utilisez ces modèles pour créer plusieurs arbres de décision de méthode d'apprentissage pour la régression.
Modèles de prévision
Créez des estimateurs pour les modèles de prévision à l'aide du module bigframes.ml.forecasting.
- Utilisez la classe ARIMAPlus pour créer des modèles de prévision de séries temporelles.
Modèles importés
Créez des estimateurs pour les modèles importés à l'aide du module bigframes.ml.imported.
Utilisez la classe ONNXModel pour importer des modèles Open Neural Network Exchange (ONNX).
Utilisez la classe TensorFlowModel pour importer des modèles TensorFlow.
Utilisez la classe XGBoostModel pour importer des modèles XGBoostModel.
Modèles linéaires
Créez des estimateurs pour les modèles linéaires à l'aide du module bigframes.ml.linear_model.
Utilisez la classe LinearRegression pour créer des modèles de régression linéaire. Utilisez ces modèles pour effectuer des prévisions. Par exemple, pour prévoir les ventes d'un article un jour donné.
Utilisez la classe LogisticRegression pour créer des modèles de régression logistique. Utilisez ces modèles pour classer au moins deux valeurs possibles (par exemple, si une entrée est
low-value
,medium-value
ouhigh-value
).
L'exemple de code suivant montre comment utiliser bigframes.ml
pour effectuer les opérations suivantes :
- Charger des données à partir de BigQuery
- Nettoyer et préparer les données d'entraînement
- Créer et appliquer un modèle de régression
bigframes.ml.LinearRegression
Grands modèles de langage
Créez des estimateurs pour les LLM à l'aide du module bigframes.ml.llm.
Utilisez la classe GeminiTextGenerator pour créer des modèles génératifs de texte Gemini. Utilisez ces modèles pour les tâches de génération de texte.
Utilisez la classe PaLM2TextGenerator pour créer des modèles génératifs de texte PaLM2. Utilisez ces modèles pour les tâches de génération de texte.
Utilisez la classe PaLM2TextEmbeddingGenerator pour créer des modèles génératifs d'embeddings textuels PaLM2. Utilisez ces modèles pour les tâches de génération d'embeddings textuels.
Vous pouvez utiliser le module bigframes.ml.llm
pour créer des estimateurs pour les grands modèles de langage (LLM) distants.
L'exemple de code suivant montre comment utiliser la classe GeminiTextGenerator
bigframes.ml.llm
pour créer un modèle Gemini pour la génération de code :
Modèles distants
Pour utiliser des modèles distants de DataFrame BigQuery ML (bigframes.ml.remote ou bigframes.ml.llm), vous devez activer les API suivantes :
- L'API BigQuery (
bigquery.googleapis.com
) - L'API BigQuery Connection (
bigqueryconnection.googleapis.com
) - L'API Vertex AI (
aiplatform.googleapis.com
) - L'API Cloud Resource Manager (
cloudresourcemanager.googleapis.com
)Vous pouvez éviter cette exigence en définissant l'option
bigframes.pandas.options.bigquery.skip_bq_connection_check
surTrue
. Dans ce cas, la connexion (par défaut ou préconfigurée) est utilisée telle quelle sans vérifier l'existence de la connexion ou la vérification de ses autorisations.
Vous devez également disposer des rôles IAM suivants sur le projet :
- Administrateur BigQuery Connection (
roles/bigquery.connectionAdmin
) - Administrateur de projet IAM (
roles/resourcemanager.projectIamAdmin
) si vous utilisez la connexion BigQuery par défaut, ou via navigateur (roles/browser) si vous utilisez une connexion préconfigurée. Cette exigence peut être évitée en définissant l'optionbigframes.pandas.options.bigquery.skip_bq_connection_check
surTrue
, auquel cas la connexion (par défaut ou préconfigurée) serait utilisée telle quelle, sans aucune vérification d'existence ni d'autorisation. Si vous utilisez la connexion préconfigurée et que vous ignorez la vérification de connexion, assurez-vous que la connexion est créée au bon endroit et que son compte de service dispose du rôle Utilisateur Vertex AI (roles/aiplatform.user
) sur le projet.
La création d'un modèle distant dans BigQuery DataFrames crée une connexion BigQuery.
Par défaut, une connexion du nom bigframes-default-connection
est utilisée.
Si vous préférez, vous pouvez utiliser une connexion BigQuery préconfigurée. Dans ce cas, la création de la connexion est ignorée. Le compte de service pour la connexion par défaut se voit attribuer le rôle IAM Utilisateur Vertex AI (roles/aiplatform.user
).
Créer des pipelines
Créez des pipelines de ML avec bigframes.ml.pipeline module. Les pipelines vous permettent de combiner plusieurs étapes de ML pour qu'elles fassent l'objet d'une validation croisée tout en définissant différents paramètres. Cela simplifie votre code et vous permet de déployer ensemble les étapes de prétraitement des données et un estimateur.
Utilisez la classe Pipeline pour créer un pipeline de transformations avec un estimateur final.
Étapes suivantes
- Exemples de BigQuery DataFrames
Analyser les téléchargements de packages depuis PyPI avec BigQuery DataFrames