Provare BigQuery DataFrames

BigQuery DataFrames porta l'analisi Python scalabile e il machine learning (ML) in BigQuery. I calcoli vengono eseguiti in BigQuery con l'elaborazione lato server, il che ti consente di analizzare e modellare set di dati di grandi dimensioni senza essere vincolato dalla memoria locale o del notebook. Puoi utilizzare una sintassi simile a pandas (bigframes.pandas) e BigQuery ML (bigframes.bigquery) senza scrivere SQL.

Utilizza questa guida rapida per eseguire le seguenti attività di analisi e ML utilizzando l' API BigQuery DataFrames in un notebook BigQuery:

  • Crea un DataFrame sul set di dati pubblici bigquery-public-data.ml_datasets.penguins.
  • Calcola la massa corporea media di un pinguino.
  • Pulisci e prepara un sottoinsieme dei dati dei pinguini per l'addestramento.
  • Addestra un modello di regressione lineare utilizzando bigframes.bigquery.ml.create_model.
  • Valuta il modello utilizzando bigframes.bigquery.ml.evaluate.

Prima di iniziare

  1. 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

  2. Verifica che la fatturazione sia attivata per il tuo Google Cloud progetto.

  3. Verifica che l'API BigQuery sia attivata.

    Abilita l'API

    Se hai creato un nuovo progetto, l'API BigQuery viene abilitata automaticamente abilitata.

Autorizzazioni obbligatorie

Per creare ed eseguire notebook, devi disporre dei seguenti ruoli Identity and Access Management (IAM):

Crea un notebook

Segui le istruzioni riportate in Creare un notebook dall'editor BigQuery per creare un nuovo notebook.

Provare BigQuery DataFrames

Prova BigQuery DataFrames seguendo questi passaggi:

  1. Crea una nuova cella di codice nel notebook.
  2. Aggiungi il seguente codice alla cella di codice:

    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. Modifica la bpd.options.bigquery.project = your_gcp_project_id riga per specificare il tuo Google Cloud ID progetto. Ad esempio, bpd.options.bigquery.project = "myProjectID".

  4. Esegui la cella di codice.

    Il codice restituisce un oggetto DataFrame con i dati sui pinguini.

  5. Crea una nuova cella di codice nel notebook e aggiungi il seguente codice:

    # 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. Esegui la cella di codice.

    Il codice calcola la massa corporea media dei pinguini e la stampa nella Google Cloud console.

  7. Crea una nuova cella di codice nel notebook e aggiungi il seguente codice:

    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. Esegui la cella di codice.

    Il codice addestra il modello di regressione lineare direttamente in BigQuery e restituisce le metriche di valutazione del modello.

Libera spazio

Il modo più semplice per eliminare la fatturazione è eliminare il progetto che hai creato per il tutorial.

Per eliminare il progetto:

  1. Nella Google Cloud console, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
  3. Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.

Passaggi successivi