Usa fuentes de datos y destinos

SQL de Cloud Dataflow admite la lectura de temas de Cloud Pub/Sub y tablas de BigQuery, y la escritura en tablas de BigQuery.

Para usar SQL de Cloud Dataflow y agregar fuentes de Cloud Dataflow, debes cambiar a la IU de SQL de Cloud Dataflow.

Pub/Sub

Lee desde un tema de Pub/Sub

La IU de SQL de Cloud Dataflow proporciona una forma de buscar objetos de fuente de datos de Cloud Pub/Sub para cualquier proyecto al que tengas acceso. No es necesario que recuerdes los nombres completos de temas.

Para agregar un tema como fuente de Cloud Dataflow, el tema debe tener un esquema. Para ver un ejemplo que explique cómo asignar un esquema, consulta Asigna un esquema a tu tema de Cloud Pub/Sub.

Agrega un tema de Pub/Sub como fuente de Cloud Dataflow

Para agregar tus temas de Cloud Pub/Sub a la sección Recursos (Resources) del panel de navegación de la izquierda, debes agregar el tema como una fuente de Cloud Dataflow.

  1. En el panel de navegación izquierdo, haz clic en la lista desplegable Agregar datos (Add Data) y selecciona Fuentes de Cloud Dataflow (Cloud Dataflow sources).

    En AGREGAR DATOS (ADD DATA), selecciona Fuentes de Dataflow (Dataflow sources)

  2. En el panel Agregar fuente de Cloud Dataflow (Add Cloud Dataflow source) que se abre a la derecha, elige Temas de Cloud Pub/Sub (Cloud Pub/Sub topics). En el cuadro de búsqueda, busca el nombre de un tema. Selecciona el tema y haz clic en Agregar (Add).

    La siguiente captura de pantalla muestra una búsqueda para el tema transactions:

    Busca el tema

  3. La sección Recursos (Resources) del panel de navegación de la izquierda mostrará los temas de Cloud Pub/Sub que agregaste. Para ver la lista de temas, expande Fuentes de Cloud Dataflow (Cloud Dataflow sources) y, luego, Temas de Cloud Pub/Sub (Cloud Pub/Sub topics).

Ve el esquema de un tema

Para ver el esquema de un tema específico, expande Fuentes de Cloud Dataflow (Cloud Dataflow sources) en la sección Recursos (Resources) en el panel de navegación izquierdo. Luego, expande Temas de Cloud Pub/Sub (Cloud Pub/Sub topics). Si haces clic en un tema, se muestra información sobre el recurso en el panel de detalles, incluido el Esquema. El esquema incluye los siguientes campos:

  • event_timestamp: el campo al que hace seguimiento la marca de agua
  • attributes: los atributos de mensaje de Cloud Pub/Sub
  • payload: el contenido del mensaje de Cloud Pub/Sub. Los mensajes de Cloud Pub/Sub deben estar en formato JSON, como se describe en la página de referencia de la biblioteca de transmisión de JSON. Por ejemplo, puedes insertar mensajes formateados como {"k1":"v1", "k2":"v2"} en una fila anidada payload de BigQuery con dos campos, llamados k1 y k2, con tipos de datos string. Debes serializar todos los campos que están en el esquema, independientemente del valor del campo (nulo o no nulo). Por ejemplo, para los campos NULLABLE, debes serializar el campo en el mensaje JSON con un valor NULL. Si tu mensaje JSON no contiene el campo, SQL de Cloud Dataflow muestra un error.

En la siguiente captura de pantalla, se muestra el esquema para el tema transactions.

Ve el esquema de transacciones

Usa un tema en una consulta

Puedes especificar un tema de Cloud Pub/Sub con una lista completa de identificadores separados por puntos que sigan la estructura léxica de SQL estándar.

  pubsub.topic.project-id.topic-name

Debes usar acentos graves para encerrar identificadores que contengan caracteres que no sean letras, números ni guiones bajos.

Por ejemplo, la siguiente string especifica el tema daily.transactions de Cloud Pub/Sub del proyecto dataflow-sql.

  pubsub.topic.`dataflow-sql`.`daily.transactions`

También puedes propagar el editor de consultas. Para ello, selecciona el tema en la sección Recursos (Resources) del panel de navegación izquierdo. Expande Fuentes de Cloud Dataflow (Cloud Dataflow sources) y, luego, Temas de Cloud Pub/Sub (Cloud Pub/Sub topics). Después de hacer clic en un tema en el panel de navegación, puedes hacer clic en el botón Tema de consulta (Query Topic) que se encuentra en el lado derecho del panel de detalles, a fin de propagar una consulta básica para ese tema.

La siguiente captura de pantalla muestra la consulta propagada en el editor de consultas:

El botón de Tema de consulta propaga el cuadro de consulta

Usa el esquema del tema para escribir tu consulta de SQL. Cuando ingresas una consulta en la IU de SQL de Cloud Dataflow, el validador de consultas verifica la sintaxis de la consulta. Se muestra un ícono de marca de verificación verde si la consulta es válida. Si no lo es, aparecerá un ícono de exclamación rojo. Si la sintaxis de la consulta no es válida, se proporcionará información sobre lo que se debe corregir si haces clic en el ícono del validador.

La siguiente consulta de enriquecimiento de datos agrega un campo sales_region adicional a una transmisión de eventos de Cloud Pub/Sub (transactions). Las regiones de ventas son de una tabla de BigQuery (us_state_salesregions) que mapea estados a las regiones de ventas.

Ingresa tu consulta en el editor

BigQuery

Lee desde una tabla de BigQuery

Agrega una tabla de BigQuery como una fuente de Cloud Dataflow

No necesitas agregar tu tabla de BigQuery como una fuente de Cloud Dataflow para agregar conjuntos de datos y tablas a la sección Recursos del panel de navegación izquierdo. Puedes expandir proyectos fijados en la sección Recursos para ver conjuntos de datos y tablas de BigQuery. Si tu tabla de BigQuery se encuentra en un proyecto que no aparece en la sección Recursos, puedes fijar el proyecto para agregarlo a la lista.

Ve el esquema de una tabla

Para ver el esquema de una tabla específica, busca el proyecto en la sección Recursos del panel de navegación izquierdo. Haz clic en el ícono expandir el ícono del conjunto de datos junto a tu proyecto para mostrar los conjuntos de datos de ese proyecto. Luego, haz clic en el ícono expandir el conjunto de datos junto a cualquier conjunto de datos para expandirlo y mostrar las tablas dentro de este. También puedes usar el cuadro de búsqueda para buscar un conjunto de datos o tabla específicos.

Si haces clic en la tabla, se muestra información sobre el recurso en el panel de detalles, incluido el Esquema.

Usa una tabla en una consulta

Puedes especificar una tabla de BigQuery con una lista completa de identificadores separados por puntos que sigan la estructura léxica de SQL estándar.

  bigquery.table.project-id.my_dataset.my_table

Debes usar acentos graves para encerrar identificadores que contengan caracteres que no sean letras, números ni guiones bajos.

Por ejemplo, la siguiente string especifica un conjunto de datos dataflow_sql_dataset de BigQuery y la tabla us_state_salesregions del proyecto dataflow-sql.

  bigquery.table.`dataflow-sql`.dataflow_sql_dataset.us_state_salesregions

También puedes propagar el editor de consultas con esta string si seleccionas la tabla de la sección Recursos en el panel de navegación izquierdo. Busca tu proyecto en la sección Recursos, expande el proyecto y, luego, el conjunto de datos que contiene la tabla que quieres usar. Después de hacer clic en una tabla en el panel de navegación, puedes hacer clic en el botón Tabla de consultas (Query Table), que se encuentra en el lado derecho del panel de detalles, a fin de propagar una consulta básica para esa tabla en el cuadro de consulta.

La siguiente captura de pantalla muestra la consulta propagada en el editor de consultas:

El botón Tabla de consultas (Query table) propaga el cuadro de consultas

Usa el esquema de la tabla para escribir tu consulta de SQL. Cuando ingresas una consulta en la IU de SQL de Cloud Dataflow, el validador de consultas verifica la sintaxis de la consulta. Se muestra un ícono de marca de verificación verde si la consulta es válida. Si no lo es, aparecerá un ícono de exclamación rojo. Si la sintaxis de la consulta no es válida, se proporcionará información sobre lo que se debe corregir si haces clic en el ícono del validador.

La siguiente consulta de enriquecimiento de datos usa una tabla de BigQuery (us_state_salesregions) que mapea estados a regiones de ventas para agregar un campo adicional (sales_region) a una transmisión de eventos de Cloud Pub/Sub.

Ingresa tu consulta en el editor

Escribe en una tabla de BigQuery

Cuando creas un trabajo de Cloud Dataflow a fin de ejecutar tu consulta de SQL, debes especificar una tabla de BigQuery de destino para los resultados. Ten en cuenta los siguientes requisitos previos y consideraciones:

  • El conjunto de datos de destino debe existir antes de que hagas clic en Crear trabajo de Cloud Dataflow.
  • Si la tabla de destino no existe, el trabajo crea una tabla nueva con el nombre especificado.
  • Si la tabla de destino ya existe, la tabla debe estar vacía.