Programa cargas de trabajo
Las tareas de BigQuery suelen ser parte de cargas de trabajo más grandes, con tareas externas que se activan y, luego, se activan con 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, 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 son basadas 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 procesarse inmediatamente cuando llega. En la programación basada en el tiempo, es posible que se deban cargar datos nuevos 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 necesitas cargar objetos en un lago de datos en tiempo real, pero los informes de actividad en el lago de datos solo se generan a diario.
Elige una herramienta de programación
Las herramientas de programación ayudan con las tareas que implican la administración de cargas de trabajo de datos complejas, como combinar varios Cloud de Confiance by S3NS servicios o servicios 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 parámetros y dependencias para garantizar que las tareas se ejecuten en el orden correcto con los datos correctos. 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, Cloud Composer o Vertex AI Pipelines para la mayoría de los casos de uso. Consulta el siguiente gráfico para ver 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 o administrador 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? | Sí | Sí | Completamente administrado | Sí |
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 varias otras.
Consultas programadas
La forma más sencilla 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 programació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 controlada por 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 programación: basado en el tiempo
Workflows
Workflows es una herramienta sin servidores que programa servicios basados en HTTP con una latencia muy baja. Es mejor 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
Cloud Composer
Cloud Composer es una herramienta completamente administrada compilada en Apache Airflow. Es mejor para las cargas de trabajo de extracción, transformación y carga (ETL) o extracción, carga y transformación (ELT), ya que admite varios operadores y patrones, así como la ejecución de tareas en otros Cloud de Confiance productos 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 Cloud de Confiance.
Método de programación: basado en el tiempo
Vertex AI Pipelines
Vertex AI Pipelines es una herramienta sin servidores basada en Kubeflow Pipelines diseñada especialmente para programar cargas de trabajo de aprendizaje automático. Automatiza y conecta todas las tareas del 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 el uso de Vertex AI Pipelines con BigQuery, consulta Cómo exportar e implementar 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 programació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 con 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 microservices 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 en paralelo y la transmisión de datos desde dispositivos de la IoT. Para obtener más información sobre el uso de Pub/Sub con BigQuery, consulta Cómo transmitir 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 Cómo compilar una canalización de procesamiento de BigQuery con Eventarc.
¿Qué sigue?
- Obtén información para programar consultas recurrentes directamente en BigQuery.
- Comienza a usar Dataform.
- Comienza a usar Workflows.
- Comienza a usar Cloud Composer.
- Comienza a usar Vertex AI Pipelines.
- Comienza a usar Apigee Integration
- Comienza a usar Cloud Data Fusion.
- Comienza a usar Cloud Scheduler.
- Comienza a usar Pub/Sub.
- Comienza a usar Eventarc.