Introducción a las consultas continuas
En este documento, se describen las consultas continuas de BigQuery.
Las consultas continuas de BigQuery son instrucciones de SQL que se ejecutan de forma continua. Las consultas continuas te permiten analizar datos entrantes en BigQuery en tiempo real. Puedes insertar las filas de salida que genera una consulta continua en una tabla de BigQuery o exportarlas a Pub/Sub o Bigtable. Las consultas continuas pueden procesar datos que se escribieron en tablas estándar de BigQuery a través de uno de los siguientes métodos:
- La API de BigQuery Storage Write
- El método
tabledata.insertAll
- Carga por lotes
- La declaración DML
INSERT
Puedes usar consultas continuas para realizar tareas urgentes, como crear estadísticas y actuar de inmediato en función de ellas, aplicar inferencias de aprendizaje automático (AA) en tiempo real y replicar datos en otras plataformas. Esto te permite usar BigQuery como un motor de procesamiento de datos controlado por eventos para la lógica de decisión de tu aplicación.
En el siguiente diagrama, se muestran flujos de trabajo comunes de consultas continuas:
Casos de uso
Estos son algunos casos de uso comunes en los que tal vez quieras usar consultas continuas:
- Servicios de interacción personalizada con el cliente: Usa la IA generativa para crear mensajes personalizados para cada interacción con el cliente.
- Detección de anomalías: Compila soluciones que te permitan realizar la detección de anomalías y amenazas en datos complejos en tiempo real para que puedas reaccionar a los problemas con mayor rapidez.
- Canalizaciones basadas en eventos personalizables: Usa la integración continua de consultas con Pub/Sub para activar aplicaciones descendentes según los datos entrantes.
- Enriquecimiento de datos y extracción de entidades: Usa consultas continuas para realizar el enriquecimiento y la transformación de datos en tiempo real con funciones de SQL y modelos de AA.
- Extracción, transformación y carga inversa (ETL): Realiza ETL inverso en tiempo real en otros sistemas de almacenamiento más adecuados para la entrega de aplicaciones de baja latencia. Por ejemplo, analizar o mejorar los datos de eventos que se escriben en BigQuery y, luego, transmitirlos a Bigtable para la entrega de aplicaciones.
Operaciones admitidas
Las siguientes operaciones son compatibles con las consultas continuas:
- Ejecutar
declaraciones
INSERT
para escribir datos de una consulta continua en una tabla de BigQuery Ejecutar sentencias
EXPORT DATA
para publicar resultados de consultas continuas en temas de Pub/Sub Para obtener más información, consulta Exporta datos a Pub/Sub.Desde un tema de Pub/Sub, puedes usar los datos con otros servicios, como realizar análisis de transmisiones a través de Dataflow o de los datos en un flujo de trabajo de Application Integration.
Ejecutar declaraciones
EXPORT DATA
para exportar datos de BigQuery a tablas de Bigtable Para obtener más información, consulta Exporta datos a Bigtable.Llama a las siguientes funciones de IA generativa:
Estas funciones requieren que tengas un modelo remoto de BigQuery ML en un modelo de Vertex AI.
Llama a las siguientes funciones de IA:
Estas funciones requieren que tengas un modelo remoto de BigQuery ML en una API de Cloud AI.
Normalizar datos numéricos a través de la función
ML.NORMALIZER
.Usar funciones de GoogleSQL sin estado, por ejemplo, funciones de conversión En las funciones sin estado, cada fila se procesa de forma independiente de las otras filas de la tabla.
Usar la función del historial de cambios
APPENDS
para iniciar el procesamiento continuo de consultas desde un momento específico
Autorización
Para ejecutar consultas continuas de larga duración, usa una cuenta de servicio en lugar de una cuenta de usuario.
Los tokens de acceso de Google Cloud que se usan cuando se ejecutan trabajos de consulta continua tienen un tiempo de actividad (TTL) de dos días cuando los genera una cuenta de usuario. Por lo tanto, estos trabajos se dejan de ejecutar después de dos días. Los tokens de acceso que generan las cuentas de servicio no están limitados por un TTL, por lo que los trabajos de consulta continuos que ejecuta una cuenta de servicio se desarrollan hasta que se cancelan de forma explícita. Para obtener más información, consulta Ejecuta una consulta continua con una cuenta de servicio.
Ubicaciones
Las consultas programadas se admiten en las siguientes ubicaciones:
US
EU
asia-northeast1
asia-south1
europe-west1
europe-west2
europe-west4
us-central1
us-east1
us-east4
us-west1
Limitaciones
Las consultas continuas de Spanner están sujetas a las siguientes limitaciones:
- Las consultas continuas de BigQuery no mantienen el estado de los
datos transferidos. Por el momento, no se admiten las operaciones comunes que dependen del estado, como
JOINs
, funciones de agregación y funciones analíticas con ventanas. No puedes usar las siguientes funciones de SQL en una consulta continua:
- Funciones escalares no deterministas, por ejemplo, lafunción
CURRENT_DATE
- Operaciones de
JOIN
- Funciones de agregación
- Funciones de agregación aproximada
Las siguientes cláusulas de consulta:
Los siguientes operadores de consulta:
Consulta operadores de conjuntos
Funciones de BigQuery ML distintas de las enumeradas en Operaciones compatibles
Sentencias del lenguaje de manipulación de datos (DML), excepto
INSERT
Sentencias de
EXPORT DATA
que no se orientan a Bigtable ni Pub/Sub
- Funciones escalares no deterministas, por ejemplo, lafunción
Las consultas continuas no admiten tablas comodín como fuente de datos.
Las consultas continuas no admiten tablas externas como fuente de datos.
Las consultas continuas no son compatibles con las siguientes funciones de seguridad de BigQuery:
Cuando exportas datos a Bigtable, solo puedes orientar instancias de Bigtable que se encuentren dentro del mismo límite regional de Google Cloud que el conjunto de datos de BigQuery que contiene el que estás consultando. Para obtener más información, consulta Consideraciones sobre la ubicación. Esta restricción no se aplica a la exportación de datos a Pub/Sub porque Pub/Sub es un recurso global.
No puedes ejecutar una consulta continua desde un lienzo de datos.
No puedes modificar el SQL que se usa en una consulta continua mientras se ejecuta el trabajo de consulta continua. Para obtener más información, consulta Modifica el SQL de una consulta continua.
Si el trabajo de consulta continua se retrasa más de siete días, debes cancelar y, luego, iniciar un nuevo trabajo de consulta continua. Puedes volver a ejecutar la consulta de nuevo y usar la función de historial de cambios
APPENDS
para reanudar el procesamiento desde el momento en el que detuviste el trabajo de la consulta continua anterior. Para obtener más información, consulta Inicia una consulta continua desde un momento en particular.
Limitaciones de las reservas
- Debes crear reservas de la edición Enterprise o Enterprise Plus para ejecutar consultas continuas. Las consultas continuas no son compatibles con el modelo de facturación de procesamiento a pedido.
- Cuando creas una asignación de reserva para una consulta continua, la reserva asociada se limita a 500 ranuras o menos y no se puede configurar para usar el ajuste de escala automático.
- Una asignación de reserva de consulta continua no comparte ranuras inactivas, incluso si la reserva está configurada para hacerlo.
- No puedes crear una asignación de reserva que use un tipo de trabajo diferente en la misma reserva que una asignación de reserva de consulta continua.
- No puedes configurar la simultaneidad de consultas continua. BigQuery
determina de forma automática la cantidad de consultas continuas que se pueden ejecutar
de forma simultánea, según las asignaciones de reserva disponibles que usan el tipo de
trabajo
CONTINUOUS
. - Cuando se ejecutan varias consultas continuas con la misma reserva, es posible que los trabajos individuales no dividan los recursos disponibles de manera equitativa, como se define en la equidad de BigQuery.
Precios
Las consultas continuas usan los
precios de procesamiento de la capacidad de BigQuery,
que se miden en ranuras.
Para ejecutar consultas continuas, debes tener una
reserva que use la
Edición Enterprise o Enterprise Plus,
y una asignación de reserva
que usa el tipo de trabajo CONTINUOUS
.
El uso de otros recursos de BigQuery, como la transferencia y el almacenamiento de datos, se cobra según las tarifas que se muestran en los precios de BigQuery.
El uso de otros servicios que reciben resultados de consultas continuas o a los que se llama durante el procesamiento continuo de consultas se cobra según las tarifas publicadas para esos servicios. Para obtener información sobre los precios de otros servicios de Google Cloud que se usan en las consultas continuas, consulta los siguientes temas:
¿Qué sigue?
Intenta crear una consulta continua.