sheets:Spreadsheet sheet = check spreadsheetClient->createSpreadsheet(sheetName);
_ = check spreadsheetClient->
   appendValue(sheet.spreadsheetId, ("Product", "Sales", "Date"), {sheetName: workSheetName});
foreach var {product, sales, date} in salesSummary {
   _ = check spreadsheetClient->
       appendValue(sheet.spreadsheetId, (product, sales, date), {sheetName: workSheetName});
}

Implantando e testando fluxos ETL

Desenvolver tarefas ETL individuais como microsserviços permite que todo o fluxo ETL seja implantado em um cluster Kubernetes. Cada tarefa ETL pode ser um pod na implantação do Kubernetes, possibilitando aumentar ou diminuir o número de pods de tarefas ETL individuais com base na carga. No entanto, as organizações geralmente têm vários fluxos ETL, cada um com muitas tarefas. Além disso, esses fluxos ETL podem ser de propriedade de equipes diferentes. Portanto, é crucial ter pipelines de CI/CD adequados, modelos de permissão, recursos de monitoramento e vários ambientes para desenvolvimento, teste, validações de desempenho e produção.

O Ballerina pode trabalhar com todas as tecnologias comuns de CI/CD, monitoramento e implantação, tornando-o perfeito para integrar fluxos de ETL baseados no Ballerina com a infraestrutura existente de uma organização. Por exemplo, o código-fonte do Ballerina ETL pode ser mantido no GitHub, ações de CI/CD podem ser implementadas usando Jenkins, fluxos de ETL podem ser implantados no Amazon EKS e as execuções podem ser monitoradas usando Prometheus e Grafana.