Pular para conteúdo

Webnário 14/02/2023 - Dataset Template⚓︎

No webnário do dia 14/02/2023 aprendemos sobre a estrutura do repositório dataset-template. Vimos que o mesmo foi criado com o objetivo de automatizar algumas das rotinas necessárias para publicação e atualização de um conjunto de dados. As principais tarefas automatizadas por este repositório, com auxílio do GitHub Actions, são a conversão de arquivos .xls ou .xlsx para o formato .csv, a conversão do arquivo datapackage.yaml para datapackage.json, bem como a atualização em instância CKAN do conjunto trabalhado. No estudo utilizamos o arquivo .xlsx do repositório doacoes-comodatos-amigo-estado-mg. Abaixo alguns dos comandos utilizados. Lembre de trocar < > pelo valor correto durante o trabalho.

Utilização de ambiente virtual python⚓︎

python -m venv venv
source venv/Scritpt/activate
pip install <pacote-desejado>

# Pacotes instalados
pip install frictionless
pip install pandas
pip install dpckan

# Não instalamos pacotes via requirements.txt mas é uma boa prática
pip install -r requirements.txt

Documentando um conjunto de dados⚓︎

frictionless describe --type package data/<nome-arquivo>.csv > datapackage.yaml

Documentação inicial criada é muito básica e necessitará ser melhor "recheada" ao longo do tempo. Não foi abordado, mas tarefas como separação do table_schema inclusão de novas propriedades são ideais para melhorar a qualidade desta documentação.

Targets Makefile (tarefas automatizadas)⚓︎

# Converter arquivos excel para csv
make data

# Converter arquivo datapackage.yaml para datapackage.json
make datapackage.json

# Criar conjunto instância CKAN
make create

# Conferir variáveis de ambiente necessárias para dpckan
echo $CKAN_HOST
echo $CKAN_KEY

Ao final do encontro encontramos um erro durante a publicação via comando make create. Resolvemos que vamos iniciar o próximo encontro desta parte.

Resumo dos itens revistos:⚓︎

  • Copiar dataset-template.
  • Visualizar pasta local e navegar por elas na bash/CLI.
  • Acessar o editor de texto Sublime na CLI via comando subl ..
  • Criar e ativar ambiente virtual.
  • Entender objetivo dos comandos do actions do repositório e como localizá-los.
  • Instalar bibliotecas necessárias para converter e validar arquivos do repositório (frictionless, pandas, etc).
  • Converter arquivo excel para csv via comando make data.
  • Documentar arquivo csv criado via comando frictionless describe(...).
  • Conferir variáveis de ambiente (ckan-host e ckan-key) cadastradas ma máquina local.
  • Simular atualização de conjunto de dados no homologa a partir da máquina local.
  • Excluir conjunto publicado por engano na interface gráfica do CKAN produção.

Fontes de consulta⚓︎


Ultima atualização: February 28, 2023 15:24:14
Criado em: February 14, 2023 20:39:46

Comentários