Organiza las cargas de trabajo

Las tareas de BigQuery suelen formar parte de cargas de trabajo más grandes. Las tareas externas se activan y, luego, se activan mediante operaciones de BigQuery. La organización de las 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 sin interrupciones entre los recursos y los procesos de datos. Los métodos y las herramientas de organización ayudan a diseñar, compilar, implementar y supervisar estas cargas de trabajo complejas de datos.

Elige un método de organización

Para seleccionar un método de organización, debes identificar si tus cargas de trabajo están controladas por eventos, por tiempo o por ambas. Un evento se define como un cambio de estado, como un cambio en los datos en una base de datos o un archivo agregado a un sistema de almacenamiento. En la organización basada en eventos, una acción en un sitio web puede activar una actividad de datos, o es posible que un objeto que se encuentra en un bucket determinado deba procesarse de inmediato en el momento de su llegada. En la organización basada en el tiempo, es posible que los datos nuevos deban cargarse una vez al día o con la suficiente frecuencia para generar informes por hora. Puedes usar la organización basada en eventos y por eventos en situaciones en las que necesites cargar objetos en un data lake en tiempo real, pero los informes de actividad sobre el data lake solo se generan a diario.

Elige una herramienta de organización

Las herramientas de organización ayudan a realizar tareas relacionadas con la administración de cargas de trabajo de datos complejas, como la combinación de varios servicios de Google Cloud o de terceros con trabajos de BigQuery, o la ejecución de varios trabajos de BigQuery en paralelo. Cada carga de trabajo tiene requisitos únicos para la dependencia y la administración de parámetros a fin de garantizar que las tareas se ejecuten en el orden correcto con los datos correctos. Google Cloud proporciona varias opciones de organización que se basan en los métodos de la organización y los requisitos de la carga de trabajo.

Recomendamos usar Dataform, Workflows, Cloud Composer 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 Cloud Composer Vertex AI Pipelines
Enfoque Transformación de datos Microservicios ETL o ELT Aprendizaje automático
Complejidad * ** *** **
Perfil del usuario Analista de datos o administrador Arquitecto de datos Ingeniero de datos Analista de datos
Tipo de código JavaScript y SQL YAML o JSON Python Python
¿Sin servidores? Completamente administrado
No adecuado para Cadenas de servicios externos Transformación y procesamiento de datos Latencia baja o canalizaciones controladas por eventos Tareas de infraestructura

En las siguientes secciones, se detallan estas herramientas de organización y varias más.

Consultas programadas

La forma más simple de organización de cargas de trabajo es programar consultas recurrentes directamente en BigQuery. Si bien este es el enfoque menos complejo para la organizació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 (vista previa) es un framework de transformación gratuito y basado en SQL que organiza tareas complejas de transformación de datos en BigQuery. Cuando se cargan datos sin procesar en BigQuery, Datalab te ayuda a crear una colección organizada y probada de conjuntos de datos y tablas controlados por la versión. Para obtener más información sobre el uso de datos con BigQuery, consulta Crea y ejecuta un flujo de trabajo de SQL.

Método de organización: controlado por eventos

Workflows

Los flujos de trabajo son una herramienta sin servidores que organiza servicios basados en HTTP con una latencia muy baja. Es mejor para encadenar microservicios, automatizar tareas de infraestructura, integrarlos en sistemas externos o crear una secuencia de operaciones en Google Cloud. Para obtener más información sobre el uso de flujos de trabajo con BigQuery, consulta Ejecuta varios trabajos de BigQuery en paralelo.

Método de organización: basado en eventos y controlado por el tiempo

Cloud Composer

Cloud Composer es una herramienta completamente administrada compilada en Apache Airflow. Es mejor para cargas de trabajo de extracción, transformación, carga (ETL) o de extracción, carga y transformación (ELT), ya que admite varios tipos y patrones de operador, así como ejecución de tareas en otros productos de Google Cloud y destinos externos. Para obtener más información sobre el uso de Cloud Composer con BigQuery, consulta Ejecuta un DAG de análisis de datos en Google Cloud.

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

Vertex AI Pipelines

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

Método de organización: controlado por 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 cómo usar la integración de Apigee con BigQuery, consulta Comienza a usar la integración de Apigee y un activador de Salesforce.

Método de organización: basado en eventos y controlado por 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 organización: basado en eventos y controlado por 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 Programa 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 organización: controlado por eventos

Herramientas de terceros

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

Herramientas de mensajería

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

Pub/Sub

Pub/Sub es una herramienta de mensajería asíncrona para las canalizaciones de integración de datos. Está diseñado para transferir y distribuir datos, como eventos del servidor e interacciones del usuario. 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 controlada por eventos que te permite administrar el flujo de cambios de estado en toda la canalización de datos. Esta herramienta tiene una amplia variedad de casos de uso, incluidos la solución de errores automatizada, el etiquetado de recursos, el retoque de imágenes y 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?