Open fjuniorr opened 10 months ago
Algumas sugestões de nomes para o comando são:
dpm findout dados-totais-armazem-siafi.elemento_item_cod
dpm lineage dados-totais-armazem-siafi.elemento_item_cod
O comando vai recuperar todos os repositórios que utilizam o data package dados-totais-armazem-siafi
via data.toml
e depois buscar nos scripts o uso da coluna elemento_item_cod
.
De certa forma esse processo é similar ao processo de reverse dependencies checks que acontece no CRAN se pensarmos que a publicação de uma nova versão de um data package deveria acionar o make check
ou make all
de todos os projetos ou data packages que possuem como dependência o data package atualizado.
Outra forma de ver a questão que funciona mais para data packages é que a gente poderia ter um orquestrador (eg. airflow) com as dependências entre os data packages para que a atualização em um gere atualizações nos demais.
Discutimos esses pontos em reunião no contexto de https://github.com/splor-mg/volumes-loa/pull/117#issuecomment-2341852517
Como estamos utilizando o
data.toml
para armazenar as dependências de dados dos nossos projetos a gente consegue rodar análises de impacto para evitar problemas como https://github.com/splor-mg/painel-admin-sisor/issues/1 (que vão se tornar cada vez mais comuns) e termos a tranquilidade de tomar decisões como https://github.com/splor-mg/cookiecutter-datapackage/issues/2 e https://github.com/splor-mg/atividades/issues/86.No caso a informação mais relevante é de column-level lineage, ou seja, podemos responder perguntas do tipo _"Em quais projetos a coluna
sisor-dados-2024.ELEMENTO_ITEM_COD
é utilizada?"_.Pra isso utilizamos as informações do
data.toml
para identificar quais projetos utilizam o conjunto de dadossisor-dados-2024
e depois utilizamos algo comoripgrep
[^1] para identificar o uso das colunas:[^1]: Isso implica que informação da coluna somente vai ser extraída se estiver em arquivos texto