Prueba BigQuery DataFrames
BigQuery DataFrames incorpora a BigQuery el aprendizaje automático (AA) y el análisis de Python escalables. Las operaciones se ejecutan en BigQuery con procesamiento del servidor, lo que te permite analizar y modelar grandes conjuntos de datos sin estar limitado por la memoria local o del notebook. Puedes usar una sintaxis similar a pandas (bigframes.pandas) y BigQuery ML (bigframes.bigquery) sin escribir SQL.
Usa esta guía de inicio rápido para realizar las siguientes tareas de análisis y AA mediante la API de BigQuery DataFrames en un notebook de BigQuery:
- Crea un DataFrame sobre el conjunto de datos públicos
bigquery-public-data.ml_datasets.penguins. - Calcula la masa corporal promedio de un pingüino.
- Limpia y prepara un subconjunto de los datos de pingüinos para el entrenamiento.
- Entrena un
modelo de regresión lineal
con
bigframes.bigquery.ml.create_model. - Evalúa
el modelo con
bigframes.bigquery.ml.evaluate.
Antes de comenzar
- Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
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.
-
Verifica que la facturación esté habilitada para tu Google Cloud proyecto.
Verifica que la API de BigQuery esté habilitada.
Si creaste un proyecto nuevo, la API de BigQuery se habilita automáticamente.
Permisos necesarios
Para crear y ejecutar notebooks, necesitas los siguientes roles de Identity and Access Management (IAM):
- Usuario de BigQuery (
roles/bigquery.user) - Usuario del entorno de ejecución del notebook (
roles/aiplatform.notebookRuntimeUser) - Creador de código (
roles/dataform.codeCreator)
Crea un notebook
Sigue las instrucciones en Crea un notebook desde el editor de BigQuery para crear un notebook nuevo.
Probar BigQuery DataFrames
Prueba BigQuery DataFrames mediante estos pasos:
- Crea una celda de código nueva en el notebook.
Agrega el siguiente código a la celda 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()Modifica la línea
bpd.options.bigquery.project = your_gcp_project_idpara especificar el ID de tu Google Cloud proyecto. Por ejemplo,bpd.options.bigquery.project = "myProjectID".Ejecuta la celda de código.
El código devuelve un objeto
DataFramecon datos sobre los pingüinos.Crea una celda de código nueva en el notebook y agrega el siguiente 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}")Ejecuta la celda de código.
El código calcula la masa corporal promedio de los pingüinos y la imprime en la Google Cloud consola.
Crea una celda de código nueva en el notebook y agrega el siguiente 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)Ejecuta la celda de código.
El código entrena el modelo de regresión lineal directamente en BigQuery y devuelve las métricas de evaluación del modelo.
Limpia
La manera más fácil de eliminar la facturación es borrar el proyecto que tú creaste para el instructivo.
Para borrar el proyecto, haz lo siguiente:
- En la Google Cloud consola, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que deseas borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrarlo.
¿Qué sigue?
- Sigue aprendiendo sobre BigQuery DataFrames.
- Aprende a visualizar gráficos con BigQuery DataFrames.
- Aprende a usar un notebook de BigQuery DataFrames.