Teste os BigQuery DataFrames

O BigQuery DataFrames oferece análises escalonáveis do Python e machine learning (ML) para o BigQuery. Os cálculos são executados no BigQuery com processamento do lado do servidor, o que permite analisar e modelar grandes conjuntos de dados sem restrições de memória local ou de notebook. É possível usar uma sintaxe semelhante ao pandas (bigframes.pandas) e ao BigQuery ML (bigframes.bigquery) sem escrever SQL.

Use este guia de início rápido para realizar as seguintes tarefas de análise e ML usando a API BigQuery DataFrames em um notebook do BigQuery:

  • Crie um DataFrame no conjunto de dados público bigquery-public-data.ml_datasets.penguins.
  • Calcule a massa corporal média de um pinguim.
  • Limpe e prepare um subconjunto dos dados de pinguins para treinamento.
  • Treine um modelo de regressão linear usando bigframes.bigquery.ml.create_model.
  • Avalie o modelo usando bigframes.bigquery.ml.evaluate.

Antes de começar

  1. Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
  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. Verifique se o faturamento está ativado para o Google Cloud projeto.

  5. Verifique se a API BigQuery está ativada.

    Ativar a API

    Se você criou um novo projeto, a API BigQuery será ativada automaticamente.

Permissões necessárias

Para criar e executar notebooks, você precisa dos seguintes papéis do Identity and Access Management (IAM):

Criar um notebook

Siga as instruções em Criar um notebook a partir do editor do BigQuery para criar um novo notebook.

Teste os DataFrames do BigQuery

Teste os DataFrames do BigQuery seguindo estas etapas:

  1. Crie uma célula de código no notebook.
  2. Adicione o seguinte código à célula de código:

    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. Modifique a linha bpd.options.bigquery.project = your_gcp_project_id para especificar o Google Cloud ID do projeto. Por exemplo, bpd.options.bigquery.project = "myProjectID".

  4. Execute a célula de código.

    O código retorna um objeto DataFrame com dados sobre pinguins.

  5. Crie uma célula de código no notebook e adicione o seguinte código:

    # 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. Execute a célula de código.

    O código calcula a massa corporal média dos pinguins e a imprime no Google Cloud console.

  7. Crie uma célula de código no notebook e adicione o seguinte código:

    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. Execute a célula de código.

    O código treina o modelo de regressão linear diretamente no BigQuery e retorna as métricas de avaliação do modelo.

Limpar

O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para o tutorial.

Para excluir o projeto:

  1. No Google Cloud console, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
  3. Na caixa de diálogo, digite o ID do projeto e clique em Desligar para excluir o projeto.

A seguir