Programar cargas de trabalho
A programação de cargas de trabalho no BigQuery permite coordenar, automatizar e monitorar cadeias de tarefas de dados no BigQuery e em serviços externos. Seja você um administrador, analista ou desenvolvedor de dados, é possível usar ferramentas de programação baseadas em tempo e em eventos para gerenciar dependências e executar cargas de trabalho de várias etapas em sequência.
Escolha um método de agendamento
Para selecionar um método de programação, identifique se suas 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 baseada em eventos, uma ação em um site pode acionar uma atividade de dados ou um objeto de destino em um determinado bucket precisa 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 a 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 agendamento
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 serviços do Google Cloud ou 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. O 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 do Dataform, do Workflows, do Airflow Gerenciado ou do 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 | Airflow Gerenciado | Vertex AI Pipelines | |
|---|---|---|---|---|
| Foco | Transformação de dados | Microsserviços | ETL ou ELT | Machine learning |
| Complexidade | * | ** | *** | ** |
| Perfil de usuários | Analista ou administrador de dados | Arquiteto de dados | Engenheiro de dados | Analista de dados |
| Tipo de código | JavaScript, SQL, notebooks Python | 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 o agendamento, 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 opinativo, sem custo financeiro 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 pipelines do BigQuery.
Método de programação: orientado por tempo
Workflows
O Workflows é 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 sistemas externos ou criar uma sequência de operações no Google Cloud. Para saber mais sobre o uso de Workflows com o BigQuery, consulte Executar vários jobs do BigQuery em paralelo.
Método de programação: orientado por eventos e por tempo
Serviço gerenciado para Apache Airflow
O Airflow Gerenciado é uma ferramenta totalmente gerenciada criada no Apache Airflow. É a plataforma empresarial unificada recomendada para todos os dados duráveis e de nível de produção e fluxos de trabalho de MLOps.
O Airflow Gerenciado é mais adequado para gerenciar processos de negócios complexos e de ponta a ponta que abrangem sistemas heterogêneos, como extrair dados do BigQuery, acionar o treinamento gerenciado da Gemini Enterprise Agent Platform e atualizar painéis externos, como o Looker.
O Airflow Gerenciado tem uma biblioteca com mais de mil operadores pré-criados para integrações perfeitas, eliminando a necessidade de criar contêineres personalizados para tarefas que não são de ML. Além disso, com o framework YAML declarativo, os cientistas de dados podem criar pipelines de nível de produção sem precisar de conhecimento profundo do Airflow.
Para saber mais sobre como usar o Airflow Gerenciado com o BigQuery, consulte Executar um DAG de análise de dados no Google Cloud.
Método de programação: orientado por tempo e por eventos
Pipelines da Gemini Enterprise Agent Platform
O Agent Platform Pipelines é uma ferramenta sem servidor baseada no Kubeflow Pipelines, projetada como uma solução para tarefas baseadas em contêineres específicas de ML.
Os pipelines da Agent Platform são ideais para fluxos de trabalho independentes que permanecem estritamente dentro do ecossistema da Agent Platform.
É possível usar o Agent Platform Pipelines como uma opção de baixo atrito e pagamento por execução para tarefas como agendar jobs de treinamento gerenciado especializados da Gemini Enterprise Agent Platform ou executar experimentos puros centrados na Agent Platform.
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 de tarefas 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 os microsserviços separados que só precisam ser ativados quando determinados eventos ocorrem. OGoogle Cloud oferece 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
- Saiba como programar consultas recorrentes diretamente no BigQuery.
- Começar a usar o Dataform.
- Primeiros passos com o Workflows.
- Comece a usar o Airflow Gerenciado.
- Começar a usar o Vertex AI Pipelines.
- Primeiros passos com a integração da Apigee.
- Primeiros passos com o Cloud Data Fusion.
- Começar a usar o Cloud Scheduler.
- Começar a usar o Pub/Sub.
- Primeiros passos com o Eventarc.