En esta página, se muestra cómo crear una canalización de transmisión con una plantilla de Dataflow proporcionada por Google. Específicamente, esta página utiliza la plantilla Tema de Pub/Sub a BigQuery como ejemplo.
Antes de comenzar
- Accede a tu Cuenta de Google.
Si todavía no tienes una cuenta, regístrate para obtener una nueva.
-
En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Descubre cómo confirmar que tienes habilitada la facturación en un proyecto.
- Habilita las API de Cloud Dataflow, Compute Engine, Stackdriver Logging, Cloud Storage, JSON de Cloud Storage, BigQuery, Cloud Pub/Sub y Cloud Resource Manager .
- Crea un depósito de Cloud Storage:
- En Cloud Console, ve a la página Navegador de Cloud Storage.
- Haz clic en Crear depósito.
- En el diálogo Crear bucket, especifica los siguientes atributos:
- Nombre: Un nombre de bucket único No incluyas información sensible en el nombre del bucket, ya que el espacio de nombres del bucket es global y tiene visibilidad pública.
- Clase de almacenamiento predeterminada: Estándar
- Una ubicación donde se almacenan los datos del depósito.
- Haz clic en Crear.
Cree un tema
- Dirígete a la página Temas de Pub/Sub en la IU de la Web.
Ve a la página Temas de Pub/Sub - Haz clic en addCrear tema.
- En el campo ID de tema, proporciona un nombre de tema único, por ejemplo,
taxirides-realtime
. - Haz clic en Guardar.
Crea un conjunto de datos y una tabla de BigQuery
Crea un conjunto de datos y una tabla de BigQuery con el esquema adecuado para tu tema de Pub/Sub mediante Cloud Shell o Cloud Console.
En este ejemplo, el nombre del conjunto de datos es taxirides
y el nombre de la tabla es realtime
.
Usa Cloud Shell
Utiliza Cloud Shell para crear un conjunto de datos y una tabla.
- Crea tu conjunto de datos mediante la ejecución del siguiente comando:
bq mk taxirides
El resultado debería ser similar a este:Dataset “myprojectid:taxirides” successfully created
- Para crear la tabla, ejecuta el siguiente comando:
bq mk \ --time_partitioning_field timestamp \ --schema ride_id:string,point_idx:integer,latitude:float,longitude:float,\ timestamp:timestamp,meter_reading:float,meter_increment:float,ride_status:string,\ passenger_count:integer -t taxirides.realtime
El resultado debería ser similar a este:Table “myprojectid:taxirides.realtime” successfully created
La tabla está particionada para reducir los costos de consulta y mejorar el rendimiento.
Con Google Cloud Platform Console
Usa Google Cloud Console para crear un conjunto de datos y una tabla.
- Ve a la IU web de BigQuery.
IR A LA IU WEB DE BIGQUERY - Haz clic en el ícono de flecha hacia abajo que está junto al nombre de tu proyecto en la navegación, luego haz clic en Crear conjunto de datos (Create dataset). Ingresa
taxirides
como tu ID de conjunto de datos.Los ID de conjuntos de datos son exclusivos para cada proyecto. Haz clic en el ícono de signo de interrogación para ver las limitaciones de ID.
- Deja el resto de la configuración predeterminada como está y haz clic en Aceptar.
- En la navegación, mantén el puntero sobre el ID del conjunto de datos que acabas de crear. Haz clic en el ícono de flecha hacia abajo junto al ID y selecciona Crear tabla nueva.
- Junto a Source Data (Datos de origen), selecciona la opción Create empty table (Crear una tabla vacía).
- En Tabla de destino (Destination Table), selecciona
taxirides
y, luego, ingresarealtime
. - En Esquema (Schema), selecciona Editar como texto y, luego, ingresa:
ride_id:string,point_idx:integer,latitude:float,longitude:float,timestamp:timestamp, meter_reading:float,meter_increment:float,ride_status:string,passenger_count:integer
- En Opciones (Options), selecciona la opción Día (Day) para el campo Tipo de partición (Partitioning type).
- En Opciones (Options), selecciona la columna de marca de tiempo (timestamp) para el selector Campo de partición (Partitioning field).
- Haz clic en el botón Crear tabla (Create Table).

Ejecuta la canalización
Ejecuta una canalización de transmisión con la plantilla Tema de Pub/Sub a BigQuery proporcionada por Google.
- Ve a la IU web de Dataflow.
IR A LA IU WEB DE CLOUD DATAFLOW - Haz clic en Create job from template (Crear un trabajo a partir de una plantilla).
- En Job name (Nombre del trabajo), ingresa un nombre para el trabajo de Dataflow.
- En Dataflow template (Plantilla de Dataflow), selecciona la plantilla Pub/Sub Topic to BigQuery (Tema de Pub/Sub a BigQuery).
- En Pub/Sub input topic (Tema de entrada de Pub/Sub), ingresa
projects/pubsub-public-data/topics/taxirides-realtime
. La canalización obtiene datos entrantes del tema de entrada. - En Tabla de salida de BigQuery (BigQuery output table), ingresa
myprojectid:taxirides.realtime
. - En Ubicación temporal (Temporary Location), ingresa
gs://mybucket/temp/
. Esta es una subcarpeta para almacenar archivos temporales, como el trabajo de canalización en etapas. - Haz clic en el botón Ejecutar trabajo (Run job).
- Consulta los datos escritos en BigQuery. Ir a la IU web de BigQuery.
IR A LA IU WEB DE BIGQUERY
Puedes enviar consultas con SQL estándar. Por ejemplo, la siguiente consulta selecciona todas las filas que se agregaron en las últimas 24 horas:SELECT * FROM `myprojectid.taxirides.realtime` WHERE `timestamp` > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY) LIMIT 1000

Limpieza
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta guía de inicio rápido.
- Ve a la IU web de Dataflow.
IR A LA IU WEB DE CLOUD DATAFLOW - Ve a la IU web de BigQuery.
IR A LA IU WEB DE BIGQUERY- En la navegación, desplázate por el conjunto de datos taxirides que creaste.
- Haz clic en el ícono de la flecha hacia abajo junto al nombre de tu conjunto de datos en la navegación y, luego, haz clic en Borrar conjunto de datos.
- En el cuadro de diálogo Borrar conjunto de datos, confirma el comando de eliminación escribiendo el nombre del conjunto de datos ("taxirides") y, luego, haz clic en Aceptar.