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
- 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.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verifique se o faturamento está ativado para o Google Cloud projeto.
Verifique se a API BigQuery está ativada.
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):
- Usuário do BigQuery (
roles/bigquery.user) - Usuário do ambiente de execução do notebook (
roles/aiplatform.notebookRuntimeUser) - Criador de código (
roles/dataform.codeCreator)
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:
- Crie uma célula de código no notebook.
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()Modifique a linha
bpd.options.bigquery.project = your_gcp_project_idpara especificar o Google Cloud ID do projeto. Por exemplo,bpd.options.bigquery.project = "myProjectID".Execute a célula de código.
O código retorna um objeto
DataFramecom dados sobre pinguins.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}")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.
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)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:
- No Google Cloud console, acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
- Na caixa de diálogo, digite o ID do projeto e clique em Desligar para excluir o projeto.
A seguir
- Continue aprendendo sobre os DataFrames do BigQuery.
- Saiba como visualizar gráficos usando os BigQuery DataFrames.
- Saiba como usar um notebook dos DataFrames do BigQuery.