Programa 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, luego, son activadas por las 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 procesos de datos. Los métodos y las herramientas de programación ayudan a diseñar, compilar, implementar y supervisar 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 basan en eventos, en el tiempo o en ambos. Un evento se define como un cambio de estado, como un cambio en los datos de una base de datos o un archivo agregado 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 llega a un bucket determinado puede necesitar procesamiento inmediato. 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 hora. Puedes usar la programación basada en eventos y en el tiempo en situaciones en las que necesites cargar objetos en un data lake en tiempo real, pero los informes de actividad en el data lake solo se generen a diario.

Elige una herramienta de programación

Las herramientas de programación ayudan con las tareas relacionadas con la administración de cargas de trabajo de datos complejas, como combinar varios servicios de Cloud de Confiance by S3NS o de terceros con trabajos de BigQuery, o ejecutar varios trabajos de BigQuery en paralelo. Cada carga de trabajo tiene requisitos únicos para la administración de dependencias y parámetros, lo que garantiza que las tareas se ejecuten en el orden correcto con los datos adecuados. Cloud de Confiance proporciona varias opciones de programación que se basan en el método de programación y los requisitos de la carga de trabajo.

Recomendamos usar Dataform, Workflows, Managed Airflow o Vertex AI Pipelines para la mayoría de los casos de uso. Consulta el siguiente gráfico para obtener una comparación en paralelo:

Dataform Workflows Managed Airflow Vertex AI Pipelines
Enfoque Transformación de datos Microservicios ETL o ELT Aprendizaje automático
Complejidad * ** *** **
Perfil del usuario Administrador o analista de datos Arquitecto de datos Ingeniero de datos Analista de datos
Tipo de código JavaScript, SQL y notebooks de Python YAML o JSON Python Python
¿Sin servidores? Completamente administrado
No apto para Cadenas de servicios externos Transformación y procesamiento de datos Canalizaciones de baja latencia o basadas en eventos Tareas de infraestructura

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

Consultas programadas

La forma más simple de programar cargas de trabajo es programar consultas recurrentes directamente en BigQuery. Si bien este es el enfoque menos complejo para la programación, lo recomendamos solo para las cadenas de consultas directas sin dependencias externas. Las consultas programadas de esta manera deben escribirse en GoogleSQL y pueden incluir declaraciones de lenguaje de definición de datos (DDL) y lenguaje de manipulación de datos (DML).

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

Dataform

Dataform es un framework de transformación gratuito, bien definido y basado en SQL que programa tareas complejas de transformación de datos en BigQuery. Cuando se cargan datos sin procesar en BigQuery, Dataform te ayuda a crear una colección organizada, probada y con control de versiones de conjuntos de datos y tablas. Usa Dataform para programar ejecuciones de tus preparaciones de datos, notebooks y canalizaciones de BigQuery.

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

Workflows

Workflows es una herramienta sin servidores que programa servicios basados en HTTP con una latencia muy baja. Es ideal para encadenar microservicios, automatizar tareas de infraestructura, integrarse con sistemas externos o crear una secuencia de operaciones en Cloud de Confiance. Para obtener más información sobre el uso de Workflows con BigQuery, consulta Ejecuta varios trabajos de BigQuery en paralelo.

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

Servicio administrado para Apache Airflow

Airflow administrado es una herramienta completamente administrada compilada en Apache Airflow. Es ideal para cargas de trabajo de extracción, transformación y carga (ETL) o 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 Cloud de Confiancey destinos externos. Para obtener más información sobre el uso de Managed Airflow con BigQuery, consulta Ejecuta un DAG de análisis de datos en Cloud de Confiance.

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

Vertex AI Pipelines

Vertex AI Pipelines es una herramienta sin servidores basada en Kubeflow Pipelines y diseñada especialmente para programar cargas de trabajo de aprendizaje automático. Automatiza y conecta todas las tareas de desarrollo y la implementación de tu modelo, desde los datos de entrenamiento hasta el código, lo que te brinda una vista completa de cómo funcionan tus modelos. Para obtener más información sobre cómo usar Vertex AI Pipelines con BigQuery, consulta Exporta e implementa un modelo de aprendizaje automático de BigQuery para la predicción.

Método de programación: basado en eventos

Apigee Integration

Apigee Integration es una extensión de la plataforma de Apigee que incluye conectores y herramientas de transformación de datos. Es mejor integrarse a aplicaciones empresariales externas, como Salesforce. Para obtener más información sobre el uso de la integración de Apigee con BigQuery, consulta Comienza a usar la integración de Apigee y un activador de Salesforce.

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

Cloud Data Fusion

Cloud Data Fusion es una herramienta de integración de datos que ofrece canalizaciones de ELT/ETL sin código y más de 150 conectores y transformaciones preconfigurados. Para obtener más información sobre el uso de Cloud Data Fusion con BigQuery, consulta Replica datos de MySQL en BigQuery.

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

Cloud Scheduler

Cloud Scheduler es un programador completamente administrado para trabajos como la transmisión por lotes o las operaciones de infraestructura que deben ocurrir en intervalos de tiempo definidos. Para obtener más información sobre el uso de Cloud Scheduler con BigQuery, consulta Cómo programar flujos de trabajo con Cloud Scheduler.

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

Cloud Tasks

Cloud Tasks es un servicio completamente administrado 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 mejor delegar las operaciones en segundo plano lentas o administrar las tarifas de llamadas a la API. Para obtener más información sobre el uso de Cloud Tasks con BigQuery, consulta Agrega 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 a través de varias herramientas populares de terceros, como CData y SnapLogic. El programa BigQuery Ready ofrece una lista completa de las soluciones de socios 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 ocurren ciertos eventos.Cloud de Confiance proporciona dos herramientas diseñadas para integrarse con BigQuery.

Pub/Sub

Pub/Sub es una herramienta de mensajería asíncrona para canalizaciones de integración de datos. Está diseñada para transferir y distribuir datos como interacciones del usuario y eventos del servidor. También se puede usar para el procesamiento paralelo y la transmisión de datos desde dispositivos de IoT. Para obtener más información sobre el uso de Pub/Sub con BigQuery, consulta Transmite de Pub/Sub a BigQuery.

Eventarc

Eventarc es una herramienta basada en eventos que te permite administrar el flujo de cambios de estado en toda tu canalización de datos. Esta herramienta tiene una amplia variedad de casos de uso, como la corrección automática de errores, el etiquetado de recursos, el retoque de imágenes y mucho más. Para obtener más información sobre el uso de Eventarc con BigQuery, consulta Compila una canalización de procesamiento de BigQuery con Eventarc.

¿Qué sigue?