Programar cargas de trabajo

Las tareas de BigQuery suelen formar parte de cargas de trabajo más grandes, en las que las tareas externas activan y, a continuación, se activan mediante operaciones de BigQuery. La programación de cargas de trabajo ayuda a los administradores, analistas y desarrolladores de datos a organizar y optimizar esta cadena de acciones, lo que crea una conexión fluida entre los recursos y los procesos de datos. Los métodos y las herramientas de programación ayudan a diseñar, crear, implementar y monitorizar estas cargas de trabajo de datos complejas.

Elige un método de programación

Para seleccionar un método de programación, debes identificar si tus cargas de trabajo se activan por eventos, por tiempo o por ambos. Un evento se define como un cambio de estado, como un cambio en los datos de una base de datos o un archivo añadido a un sistema de almacenamiento. En la programación basada en eventos, una acción en un sitio web puede activar una actividad de datos, o bien un objeto que se coloque en un determinado contenedor puede necesitar procesarse inmediatamente al llegar. En la programación basada en el tiempo, es posible que los datos nuevos deban cargarse una vez al día o con la frecuencia suficiente para generar informes por horas. Puedes usar la programación basada en eventos y en tiempo en situaciones en las que necesites cargar objetos en un lago de datos en tiempo real, pero los informes de actividad sobre el lago de datos solo se generen diariamente.

Elegir una herramienta de programación

Las herramientas de programación ayudan a gestionar las tareas que implican cargas de trabajo de datos complejas, como combinar varios servicios de terceros Google Cloud o con trabajos de BigQuery, o ejecutar varios trabajos de BigQuery en paralelo. Cada carga de trabajo tiene requisitos únicos de gestión de dependencias y parámetros para asegurarse de que las tareas se ejecuten en el orden correcto con los datos adecuados. Google Cloud proporciona varias opciones de programación basadas en el método de programación y los requisitos de la carga de trabajo.

Recomendamos usar Dataform, Workflows, Cloud Composer o Vertex AI Pipelines en la mayoría de los casos prácticos. Consulta la siguiente tabla para ver una comparación:

Dataform Workflows Cloud Composer Vertex AI Pipelines
Enfocar Transformación de datos Microservicios ETL o ELT Aprendizaje automático
complejidad * ** *** **
Perfil de usuario Analista o administrador de datos Arquitecto de datos Ingeniero de datos Analista de datos
Tipo de código JavaScript, SQL y cuadernos de Python YAML o JSON Python Python
¿Las soluciones sin servidor? Totalmente gestionado
No apto para Cadenas de servicios externos Transformación y tratamiento de datos Pipelines de baja latencia o basados en eventos Tareas de infraestructura

En las siguientes secciones se detallan estas herramientas de programación y otras.

Consultas programadas

La forma más sencilla de programar cargas de trabajo es programar consultas periódicas directamente en BigQuery. Aunque es el método menos complejo para programar consultas, solo lo recomendamos para cadenas de consultas sencillas que no tengan dependencias externas. Las consultas programadas de esta forma deben escribirse en GoogleSQL y pueden incluir instrucciones de lenguaje de definición de datos (DDL) y de lenguaje de manipulación de datos (DML).

Método de programación: basado en el tiempo

Dataform

Dataform es un framework de transformación gratuito, basado en SQL y con opiniones definidas que programa tareas de transformación de datos complejas en BigQuery. Cuando se cargan datos sin procesar en BigQuery, Dataform te ayuda a crear una colección organizada, probada y controlada por versiones de conjuntos de datos y tablas. Usa Dataform para programar ejecuciones de tus preparaciones de datos, cuadernos y flujos de trabajo de BigQuery.

Método de programación: basado en el tiempo

.

Flujos de trabajo

Workflows es una herramienta sin servidor que programa servicios basados en HTTP con una latencia muy baja. Es ideal para encadenar microservicios, automatizar tareas de infraestructura, integrar sistemas externos o crear una secuencia de operaciones en Google Cloud. Para obtener más información sobre cómo usar Workflows con BigQuery, consulta Ejecutar varias tareas de BigQuery en paralelo.

Método de programación: basado en eventos y basado en tiempo

Cloud Composer

Cloud Composer es una herramienta totalmente gestionada basada en Apache Airflow. Es ideal para cargas de trabajo de extracción, transformación y carga (ETL) o de extracción, carga y transformación (ELT), ya que admite varios tipos y patrones de operadores, así como la ejecución de tareas en otros productos de Google Cloudy destinos externos. Para obtener más información sobre cómo usar Cloud Composer con BigQuery, consulta Ejecutar un DAG de analíticas de datos en Google Cloud.

Método de programación: basado en el tiempo

Vertex AI Pipelines

Vertex AI Pipelines es una herramienta sin servidor basada en Kubeflow Pipelines diseñada específicamente para programar cargas de trabajo de aprendizaje automático. Automatiza y conecta todas las tareas de desarrollo y despliegue de tu modelo, desde los datos de entrenamiento hasta el código, lo que te ofrece una visión completa de cómo funcionan tus modelos. Para obtener más información sobre cómo usar Vertex AI Pipelines con BigQuery, consulta Exportar e implementar un modelo de aprendizaje automático de BigQuery para hacer predicciones.

Método de programación: basado en eventos

Integración de Apigee

Apigee Integration es una extensión de la plataforma Apigee que incluye conectores y herramientas de transformación de datos. Es la mejor opción para integrarse con aplicaciones empresariales externas, como Salesforce. Para obtener más información sobre cómo usar Apigee Integration con BigQuery, consulta Primeros pasos con Apigee Integration y un activador de Salesforce.

Método de programación: basado en eventos y basado en tiempo

Cloud Data Fusion

Cloud Data Fusion es una herramienta de integración de datos que ofrece flujos de procesamiento de datos de extracción, carga y transformación (ELT) y de extracción, transformación y carga (ETL) sin código, así como más de 150 conectores y transformaciones preconfigurados. Para obtener más información sobre cómo usar Cloud Data Fusion con BigQuery, consulta el artículo sobre cómo replicar datos de MySQL en BigQuery.

Método de programación: basado en eventos y basado en tiempo

Cloud Scheduler

Cloud Scheduler es un programador totalmente gestionado para tareas como la transmisión por lotes o las operaciones de infraestructura que deben realizarse en intervalos de tiempo definidos. Para obtener más información sobre cómo usar Cloud Scheduler con BigQuery, consulta Programar flujos de trabajo con Cloud Scheduler.

Método de programación: basado en el tiempo

Cloud Tasks

Cloud Tasks es un servicio totalmente gestionado para la distribución asíncrona de tareas de trabajos que se pueden ejecutar de forma independiente, fuera de tu carga de trabajo principal. Es la mejor opción para delegar operaciones en segundo plano lentas o gestionar las frecuencias de llamadas a APIs. Para obtener más información sobre cómo usar Cloud Tasks con BigQuery, consulta el artículo Añade una tarea a una cola de Cloud Tasks.

Método de programación: basado en eventos

Herramientas de terceros

También puedes conectarte a BigQuery mediante varias herramientas de terceros populares, como CData y SnapLogic. El programa BigQuery Ready ofrece una lista completa de soluciones de partners validadas.

Herramientas de mensajería

Muchas cargas de trabajo de datos requieren conexiones de mensajería adicionales entre microservicios desacoplados que solo deben activarse cuando se producen determinados eventos. Google Cloud proporciona dos herramientas diseñadas para integrarse con BigQuery.

Pub/Sub

Pub/Sub es una herramienta de mensajería asíncrona para flujos de procesamiento de integración de datos. Está diseñada para ingerir y distribuir datos, como eventos de servidor e interacciones de los usuarios. También se puede usar para el procesamiento paralelo y la transmisión de datos de dispositivos IoT. Para obtener más información sobre cómo usar Pub/Sub con BigQuery, consulta el artículo Transmite datos de Pub/Sub a BigQuery.

Eventarc

Eventarc es una herramienta basada en eventos que te permite gestionar el flujo de cambios de estado en todo tu flujo de datos. Esta herramienta tiene una amplia gama de casos prácticos, como la corrección automática de errores, el etiquetado de recursos o el retoque de imágenes, entre otros. Para obtener más información sobre cómo usar Eventarc con BigQuery, consulta el artículo Crear un flujo de procesamiento de BigQuery con Eventarc.

Siguientes pasos