Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[infra] Remove dependencia de YAMLs do pacote #1605

Open
d116626 opened this issue Apr 3, 2023 · 1 comment
Open

[infra] Remove dependencia de YAMLs do pacote #1605

d116626 opened this issue Apr 3, 2023 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@d116626
Copy link
Member

d116626 commented Apr 3, 2023

Mapeamento dos YAML no pacote

  1. Config
    1. Alterar o template do config.toml
    2. Alterar os templates da configuração
    3. Alterar, se necessário, o processo de inicialização
  2. Dataset
    1. init: cria um objeto Metadata em self.metadata
    2. dataset_config: carrega os metadados do yaml
    3. _setup_dataset_object: atualizar a descrição (.txt) para o bigquery
    4. _write_readme_file: gera o [README.md](http://README.md)
    5. init: cria ou substitui o arquivo yaml do dataset
  3. Table
    1. init: cria um objeto Metadata em self.metadata
    2. table_config: carrega os metadados do yaml
    3. _is_partitioned: verifica se a tabela é particionada pelos dados do yaml (campos de particionamento)
    4. _load_schema: gera o json do schema da tabela e envia para o BQ
    5. _make_publish_sql: cria o arquivo publish.sql baseado no yaml e salva na pasta da tabela
    6. _make_template: cria o arquivo yaml e o publish.sql
    7. update_columns: carrega os metadados do arquivo yaml, lê a planilha de arquitetura (google sheets ou arquivo csv, xls, xlsx, xlsm, xlsb, odf, ods, odt), insere em cols e salva o arquivo yaml com as colunas
    8. init: gera os arquivos de configuração (table_config.yaml e publish.sql) com base em um sample dos arquivos de dados e, caso exista uma planilha de arquitetura, atualiza as colunas com base nela
    9. create: cria a tabela no BQ e chama o init para gerar os arquivos de configuração
    10. update: atualiza o schema do BQ, usano os metadados para renderizar o arquivo .txt de descrição da tabela
    11. publish: cria a tabela em produção no BQ, usando o publish.sql para criar a view atual.
  4. Base
    1. _load_yaml: método responsável por carregar os dados dos arquivos yaml

Workflow

  • Table.create

    • staging
      • publish.sql: usa dados do csv para criar a view em que todas as colunas são string
      • schema-staging.json: td como string
  • Se tabela n existe na API

    • raise: direciona para fomulario de criação de metadados
  • Se tabela já existe,

    • Usa dados da API para preencher os arquivos necessarios
      • atualiza publish.sql
      • atualiza schema-staging.json
      • cria schema-prod.json
      • cria table_description.txt
@d116626 d116626 added the enhancement New feature or request label Apr 3, 2023
@rdahis
Copy link
Member

rdahis commented Aug 4, 2023

Podemos fechar?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants