BigQuery DataFrames testen

BigQuery DataFrames bietet skalierbare Python-Analysen und maschinelles Lernen (ML) in BigQuery. Berechnungen werden in BigQuery mit serverseitiger Verarbeitung ausgeführt. So können Sie große Datasets analysieren und modellieren, ohne durch den lokalen oder Notebook-Arbeitsspeicher eingeschränkt zu sein. Sie können eine Syntax verwenden, die pandas (bigframes.pandas) und BigQuery ML (bigframes.bigquery) ähnelt, ohne SQL schreiben zu müssen.

In dieser Kurzanleitung werden die folgenden Analyse- und ML-Aufgaben mit der BigQuery DataFrames API in einem BigQuery-Notebookausgeführt:

  • DataFrame für das öffentliche Dataset bigquery-public-data.ml_datasets.penguins erstellen
  • Durchschnittliche Körpermasse eines Pinguins berechnen
  • Eine Teilmenge der Pinguin-Daten für das Training bereinigen und vorbereiten
  • Lineares Regressionsmodell mit bigframes.bigquery.ml.create_model trainieren
  • Modell mit bigframes.bigquery.ml.evaluate bewerten

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistung unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  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. Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.

  5. Prüfen Sie, ob die BigQuery API aktiviert ist.

    API aktivieren

    Wenn Sie ein neues Projekt erstellt haben, wird die BigQuery API automatisch aktiviert.

Erforderliche Berechtigungen

Zum Erstellen und Ausführen von Notebooks benötigen Sie die folgenden IAM-Rollen (Identity and Access Management):

Notebook erstellen

Folgen Sie der Anleitung unter Notebook mit dem BigQuery-Editor erstellen, um ein neues Notebook zu erstellen.

BigQuery DataFrames testen

So testen Sie BigQuery DataFrames:

  1. Erstellen Sie eine neue Codezelle im Notebook.
  2. Fügen Sie der Codezelle den folgenden Code hinzu:

    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. Ändern Sie die bpd.options.bigquery.project = your_gcp_project_id Zeile, um Ihre Google Cloud Projekt-ID anzugeben. Beispiel: bpd.options.bigquery.project = "myProjectID".

  4. Führen Sie die Codezelle aus.

    Der Code gibt ein DataFrame-Objekt mit Daten zu Pinguinen zurück.

  5. Erstellen Sie eine neue Codezelle im Notebook und fügen Sie den folgenden Code hinzu:

    # 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. Führen Sie die Codezelle aus.

    Der Code berechnet die durchschnittliche Körpermasse der Pinguine und gibt sie in der Google Cloud Konsole aus.

  7. Erstellen Sie eine neue Codezelle im Notebook und fügen Sie den folgenden Code hinzu:

    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. Führen Sie die Codezelle aus.

    Der Code trainiert das lineare Regressionsmodell direkt in BigQuery und gibt die Bewertungsmesswerte des Modells zurück.

Bereinigen

Am einfachsten vermeiden Sie weitere Kosten durch Löschen des für die Anleitung erstellten Projekts.

So löschen Sie das Projekt:

  1. Wechseln Sie in der Google Cloud -Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Herunterfahren), um das Projekt zu löschen.

Nächste Schritte