Essayer BigQuery DataFrames

BigQuery DataFrames apporte l'analyse Python et le machine learning (ML) évolutifs à BigQuery. Les calculs s'exécutent dans BigQuery avec un traitement côté serveur, ce qui vous permet d'analyser et de modéliser de grands ensembles de données sans être limité par la mémoire locale ou celle du notebook. Vous pouvez utiliser une syntaxe semblable à celle de pandas (bigframes.pandas) et de BigQuery ML (bigframes.bigquery) sans écrire de code SQL.

Utilisez ce guide de démarrage rapide pour effectuer les tâches d'analyse et de ML suivantes à l'aide de l' API BigQuery DataFrames dans un notebook BigQuery :

  • Créez un DataFrame sur l'ensemble de données public bigquery-public-data.ml_datasets.penguins.
  • Calculez la masse moyenne d'un pingouin.
  • Nettoyez et préparez un sous-ensemble des données sur les pingouins pour l'entraînement.
  • Entraînez un modèle de régression linéaire à l'aide de bigframes.bigquery.ml.create_model.
  • Évaluez le modèle à l'aide de bigframes.bigquery.ml.evaluate.

Avant de commencer

  1. Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  4. Vérifiez que la facturation est activée pour votre Google Cloud projet.

  5. Vérifiez que l'API BigQuery est activée.

    Activer l'API

    Si vous avez créé un nouveau projet, l'API BigQuery est automatiquement activée.

Autorisations requises

Pour créer et exécuter des notebooks, vous avez besoin des rôles IAM (Identity and Access Management) suivants :

Créer un notebook

Suivez les instructions de la section Créer un notebook à partir de l'éditeur BigQuery pour créer un notebook.

Essayer BigQuery DataFrames

Essayez BigQuery DataFrames en procédant comme suit :

  1. Créez une nouvelle cellule de code dans le notebook.
  2. Ajoutez le code suivant à la cellule de code :

    import bigframes.pandas as bpd
    
    # Set BigQuery DataFrames options
    # Note: The project option is not required in all environments.
    # On BigQuery Studio, the project ID is automatically detected.
    bpd.options.bigquery.project = your_gcp_project_id
    
    # Use "partial" ordering mode to generate more efficient queries, but the
    # order of the rows in DataFrames may not be deterministic if you have not
    # explictly sorted it. Some operations that depend on the order, such as
    # head() will not function until you explictly order the DataFrame. Set the
    # ordering mode to "strict" (default) for more pandas compatibility.
    bpd.options.bigquery.ordering_mode = "partial"
    
    # Create a DataFrame from a BigQuery table
    query_or_table = "bigquery-public-data.ml_datasets.penguins"
    df = bpd.read_gbq(query_or_table)
    
    # Efficiently preview the results using the .peek() method.
    df.peek()
    
  3. Modifiez la ligne bpd.options.bigquery.project = your_gcp_project_id pour spécifier l'ID de votre Google Cloud projet. Exemple : bpd.options.bigquery.project = "myProjectID".

  4. Exécutez la cellule de code.

    Le code renvoie un objet DataFrame contenant des données sur les pingouins.

  5. Créez une cellule de code dans le notebook et ajoutez le code suivant :

    # Use the DataFrame just as you would a pandas DataFrame, but calculations
    # happen in the BigQuery query engine instead of the local system.
    average_body_mass = df["body_mass_g"].mean()
    print(f"average_body_mass: {average_body_mass}")
    
  6. Exécutez la cellule de code.

    Le code calcule la masse moyenne des pingouins et l'affiche dans la Google Cloud console.

  7. Créez une cellule de code dans le notebook et ajoutez le code suivant :

    import bigframes.bigquery as bbq
    from google.cloud import bigquery
    
    # Ensure a dataset exists to store the model
    client = bigquery.Client(project=bpd.options.bigquery.project)
    client.create_dataset("bq_quickstart", exists_ok=True)
    
    # Filter down to the Adelie Penguin species
    adelie_data = df[df.species == "Adelie Penguin (Pygoscelis adeliae)"]
    
    # Drop the columns that are not needed
    adelie_data = adelie_data.drop(columns=["species"])
    
    # Drop rows with nulls to get the training data
    training_data = adelie_data.dropna()
    
    # Train a linear regression model
    model_name = f"{bpd.options.bigquery.project}.bq_quickstart.penguin_weight"
    model_metadata = bbq.ml.create_model(
        model_name,
        replace=True,
        options={"model_type": "LINEAR_REG"},
        training_data=training_data.rename(columns={"body_mass_g": "label"}),
    )
    
    # Evaluate the model
    evaluation = bbq.ml.evaluate(model_name)
    print(evaluation)
    
  8. Exécutez la cellule de code.

    Le code entraîne le modèle de régression linéaire directement dans BigQuery et renvoie les métriques d'évaluation du modèle.

Libérer de l'espace

Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.

Pour supprimer le projet :

  1. Dans la Google Cloud console, accédez à la page Gérer les ressources.

    Accéder à la page "Gérer les ressources"

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez Arrêter pour supprimer le projet.

Étape suivante