prefeitura-rio/pipelines

[infra] Ingestão de dados caóticos

gabriel-milan opened this issue · 1 comments

Sobre esses dados que vem de fontes externas caóticas

  • Precisa entender a arquitetura da ingestão desses dados, vai ser particionado?, precisa adicionar incrementalmente? qual a frequência de disponibilização de novos dados?

  • Precisa ter uma etapa de normalização de arquivos que geram a msm tabela, os dados que ficam no storage precisam sempre ter as msm colunas e elas tem que estar na msm ordem/posição, se n inverte td no bigquery

  • Nome dos arquivos devem seguir um padrao logico ou possuir informação de quando foi adicionado/modificado

  • N parece ser viável usar links do sheets pra disponibilizar novos dados para serem ingeridos, um ftp ou algo similar parece mais adequado

  • Implementar pipeline que aceite links do Drive (seja CSV puro, Google Sheets)

Em resumo tem que separar as primary keys em colunas e agregar todos os outros campos em um json e salvar o csv no storage.
Ai quando for reconstruir a tabela tem que usar uns json functions pra colocar na estrutura colunar, ai ele vai colocar null pra onde o valor n existir, ai n tem problema o numero de colunas mudar entre os arquivos
https://cloud.google.com/bigquery/docs/reference/standard-sql/json_functions