Programar cargas de trabalho

As tarefas do BigQuery geralmente fazem parte de cargas de trabalho maiores, com tarefas acionadas externamente e acionadas por operações do BigQuery. A programação de cargas de trabalho ajuda administradores, analistas e desenvolvedores de dados a organizar e otimizar essa cadeia de ações, criando uma conexão integrada entre recursos e processos de dados. As ferramentas e métodos de programação ajudam a projetar, criar, implementar e monitorar essas cargas de trabalho de dados complexas.

Escolher um método de programação

Para selecionar um método de programação, identifique se as cargas de trabalho são orientadas por eventos, por tempo ou ambos. Um evento é definido como uma alteração de estado, como uma alteração em dados em um banco de dados ou em um arquivo adicionado a um sistema de armazenamento. Na programação orientada a eventos, uma ação em um site pode acionar uma atividade de dados ou um objeto de destino em um determinado bucket pode precisar ser processado imediatamente na chegada. Na programação orientada por tempo, pode ser necessário carregar novos dados uma vez por dia ou com frequência suficiente para produzir relatórios por hora. É possível usar programação orientada por eventos e por tempo em cenários em que você precisa carregar objetos em um data lake em tempo real, mas os relatórios de atividade no data lake só são gerados diariamente.

Escolher uma ferramenta de programação

As ferramentas de programação ajudam em tarefas envolvidas no gerenciamento de cargas de trabalho de dados complexas, como a combinação de vários Google Cloud ou serviços de terceiros com jobs do BigQuery ou a execução de vários jobs do BigQuery em paralelo. Cada carga de trabalho tem requisitos exclusivos de gerenciamento de dependências e parâmetros para garantir que as tarefas sejam executadas na ordem correta usando os dados corretos. Google Cloud oferece várias opções de programação baseadas no método de programação e nos requisitos da carga de trabalho.

Recomendamos o uso de Dataform, Workflows, Cloud Composer ou Vertex AI Pipelines para a maioria dos casos de uso. Consulte o gráfico a seguir para ver uma comparação lado a lado:

Dataform Workflows Cloud Composer Pipelines da Vertex AI
Foco Transformação de dados Microsserviços ETL ou ELT Machine learning
Complexidade * ** *** **
Perfil do usuário Analista ou administrador de dados Arquiteto de dados Engenheiro de dados Analista de dados
Tipo de código JavaScript e SQL YAML ou JSON Python Python
Usando o modelo sem servidor? Sim Sim Totalmente gerenciado Sim
Inadequado para Redes de serviços externos Transformação e processamento de dados Pipelines de baixa latência ou orientados por eventos Tarefas de infraestrutura

As seções a seguir detalham essas ferramentas de programação e várias outras.

Consultas programadas

A forma mais simples de programação de cargas de trabalho é programar consultas recorrentes diretamente no BigQuery. Embora essa seja a abordagem menos complexa para programação, recomendamos isso apenas para cadeias de consultas simples sem dependências externas. As consultas programadas dessa maneira precisam ser escritas em GoogleSQL e podem incluir a linguagem de definição de dados (DDL) e a linguagem de manipulação de dados (DML, na sigla em inglês).

Método de programação: orientado por tempo

Dataform

O Dataform é um framework de transformação gratuito e baseado em SQL que programa tarefas complexas de transformação de dados no BigQuery. Quando os dados brutos são carregados no BigQuery, o Dataform ajuda a criar uma coleção organizada, testada e controlada de versões de conjuntos de dados e tabelas. Use o Dataform para programar execuções de preparações de dados, notebooks e fluxos de trabalho do BigQuery.

Método de programação: orientado por eventos

Fluxos de trabalho

Fluxos de trabalho é uma ferramenta sem servidor que programa serviços baseados em HTTP com latência muito baixa. É melhor para encadear microsserviços, automatizar tarefas de infraestrutura, integrar com sistemas externos ou criar uma sequência de operações no Google Cloud. Para saber mais sobre o uso de fluxos de trabalho com o BigQuery, consulte Executar vários jobs do BigQuery em paralelo.

Método de programação: orientado por eventos e por tempo

Cloud Composer

O Cloud Composer é uma ferramenta totalmente gerenciada criada no Apache Airflow. Ela é melhor para cargas de trabalho de extração, transformação, carregamento (ETL) ou extração, carregamento, transformação (ELT), já que é compatível com vários tipos e padrões de operador, bem como execução de tarefas em outros Google Cloud produtos e destinos externos. Para saber mais sobre como usar o Cloud Composer com o BigQuery, consulte Executar um DAG de análise de dados no Google Cloud.

Método de programação: orientado por tempo

Vertex AI Pipelines

O Vertex AI Pipelines é uma ferramenta sem servidor baseada no Kubeflow Pipelines, especialmente projetada para programar cargas de trabalho de machine learning. Ele automatiza e conecta todas as tarefas de desenvolvimento e implantação do modelo, desde dados de treinamento até código, oferecendo uma visão completa de como os modelos funcionam. Para saber mais sobre como usar o Vertex AI Pipelines com o BigQuery, consulte Exportar e implantar um modelo de machine learning do BigQuery para previsão.

Método de programação: orientado por eventos

Integração com a Apigee

A integração da Apigee é uma extensão da plataforma Apigee que inclui conectores e ferramentas de transformação de dados. Ela é melhor para integração com aplicativos empresariais externos, como o Salesforce. Para saber mais sobre como usar a integração da Apigee com o BigQuery, consulte Primeiros passos com a integração da Apigee e um gatilho do Salesforce.

Método de programação: orientado por eventos e por tempo

Cloud Data Fusion

O Cloud Data Fusion é uma ferramenta de integração de dados que oferece pipelines ELT/ETL sem código e mais de 150 transformações e conectores pré-configurados. Para saber mais sobre como usar o Cloud Data Fusion com o BigQuery, consulte Como replicar dados do MySQL para o BigQuery.

Método de programação: orientado por eventos e por tempo

Cloud Scheduler

O Cloud Scheduler é um programador totalmente gerenciado para jobs como streaming em lote ou operações de infraestrutura que precisam ocorrer em intervalos de tempo definidos. Para saber mais sobre como usar o Cloud Scheduler com o BigQuery, consulte Como programar fluxos de trabalho com o Cloud Scheduler.

Método de programação: orientado por tempo

Cloud Tasks

O Cloud Tasks é um serviço totalmente gerenciado para distribuição assíncrona de tarefas que podem ser executadas de forma independente, fora da carga de trabalho principal. É melhor para delegar operações em segundo plano lentas ou gerenciar taxas de chamadas de API. Para saber mais sobre o uso do Cloud Tasks com o BigQuery, consulte Adicionar uma tarefa a uma fila do Cloud Tasks.

Método de programação: orientado por eventos

Ferramentas de terceiros

Também é possível se conectar ao BigQuery usando várias ferramentas conhecidas de terceiros, como CData e SnapLogic. O programa pronto para o BigQuery oferece uma lista completa de soluções de parceiros validadas.

Ferramentas de mensagens

Muitas cargas de trabalho de dados exigem outras conexões de mensagens entre microsserviços separados que só precisam ser ativados quando determinados eventos ocorrem. OGoogle Cloud fornece duas ferramentas projetadas para integração com o BigQuery.

Pub/Sub

O Pub/Sub é uma ferramenta de mensagens assíncrona para pipelines de integração de dados. Ele foi projetado para ingerir e distribuir dados, como eventos do servidor e interações do usuário. Ele também pode ser usado para processamento paralelo e streaming de dados de dispositivos IoT. Para saber mais sobre como usar o Pub/Sub com o BigQuery, consulte Stream do Pub/Sub para BigQuery.

Eventarc

O Eventarc é uma ferramenta orientada a eventos que permite gerenciar o fluxo de alterações de estado em todo o pipeline de dados. Essa ferramenta tem uma ampla variedade de casos de uso, incluindo correção automática de erros, rotulagem de recursos, retoque de imagens e muito mais. Para saber mais sobre o uso do Eventarc com o BigQuery, consulte Criar um pipeline de processamento do BigQuery com o Eventarc.

A seguir