Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||||
Produto | Microsiga Protheus | Módulo | - TOTVS Smart Analytics | Módulo | - |
Segmento Executor | Serviços | ||||
Projeto | M_SER_BA002 | IRM | PCREQ-4093 | ||
Requisito | PCREQ-9621 | Subtarefa | PDR_SER_BA002-56 |
Objetivo
Atualmente, o processo de ETL do TOTVS Smart Analytics lê arquivos com extensão csv localizados dentro de uma pasta compactada com extensão zip. Ao incluir o processo do Agent no ERP Microsiga Protheus, será necessário alterar o projeto do Smart Analytics, para que este leia arquivos dentro de uma pasta compactada com extensão tar.gz, pois é o tipo de arquivo gerado pelo Microsiga Protheus.
O objetivo deste documento é descrever as alterações necessárias, de forma que o processo de ETL do TOTVS Smart Analytics leia, tanto arquivos compactados no formato zip quanto no formato tar.gz, recebendo estes valores por meio de parâmetros, descritos nos tópicos seguintes.
Definição da Regra de Negócio
Para tornar possível a leitura de arquivos compactados com extensão tar.gz, além da leitura do zip já existente, será necessário realizar as seguintes alterações:
- No arquivo parametros.prm, localizado na pasta parameters, deverá ser adicionado 2 novos parâmetros FILE_EXTENSION_PREFIX e FILE_EXTENSION, ambos com valor padrão zip.
- No job principal do ETL do Smart Analytics, MAIN_JOB, há uma chamada para cada graph que deverá ser executado durante o processo de carga, por meio do componente Run Graph. Os componentes responsáveis pela chamada de DATA_DOWNLOAD, graphs responsáveis pela carga das tabelas Fatos e graphs responsáveis pela carga das tabelas Dimensões, deverão incluir os parâmetros na propriedade Graph parameters to pass para enviar os valores internamente aos graphs finais.
- Nos graphs que carregam as tabelas fatos, também existe um componente Run Graph responsável pela chamada da exclusão dos dados de um período preestabelecido. Os parâmetros também devem ser passados internamente, da mesma forma como descrito no tópico anterior
- O primeiro graph a ser executado a partir do MAIN_JOB é o DATA_DOWNLOAD, que é responsável pelo download do arquivo compactado para leitura do projeto de ETL do TOTVS Smart Analytics. O caminho para a localização correta deste arquivo de leitura compactado, é definido na propriedade URL to download do componente File Download. Portanto, deverá ser substituído pelo seguinte caminho: https://${USER_PWD_SECURE_DI}@${STORAGE_HOST_WEBDV}/${STORAGE_PATH_TODAY}/TOTVSSMARTANALYTICS.${FILE_EXTENSION}
- Todos os graphs responsáveis pela carga de dados em tabelas Fatos e Dimensões devem sofrer uma alteração no componente Data Reader, de forma a demonstrar o caminho para localizar o arquivo final compactado. Atualmente, o caminho aponta para um arquivo final com extensão zip, e a substituição deste caminho apontará para um destino com uma extensão que será enviada na forma de parâmetros. O caminho deve ser escrito deste modo: ${FILE_EXTENSION_PREFIX}:(${DATA_TMP_DIR}/TOTVSSMARTANALYTICS.${FILE_EXTENSION})#nome_tabela.csv*
- No componente Data Reader, do graph DELETE_FACT_TABLE_V3, alterar o caminho da propriedade FILE URL para: ${FILE_EXTENSION_PREFIX}:(${DATA_TMP_DIR}/TOTVSSMARTANALYTICS.${FILE_EXTENSION})#CONF.csv
Todas essas alterações estão sintetizadas no quadro abaixo:
Arquivo | Componente | Tipo de Operação | Alteração Realizada |
parametros.prm |
- | Alteração | Adicionar os novos parâmetros: FILE_EXTENSION=zip FILE_EXTENSION_PREFIX=zip |
MAIN_JOB | Run Graph | Alteração | Na propriedade Graph parameters to pass, incluir os 2 novos parâmetros: FILE_EXTENSION e FILE_EXTENSION_PREFIX. |
Graphs que carregam tabelas fatos | Run Graph (Apagar Fato) | Alteração | Na propriedade Graph parameters to pass, incluir os 2 novos parâmetros: FILE_EXTENSION e FILE_EXTENSION_PREFIX. |
Graph DATA_DOWNLOAD | File Download | Alteração | Na propriedade URL to download substituir o caminho por: https://${USER_PWD_SECURE_DI}@${STORAGE_HOST_WEBDV}/${STORAGE_PATH_TODAY}/TOTVSSMARTANALYTICS.${FILE_EXTENSION} |
Graphs que carregam todas as tabelas (fatos e dimensões) | Data Reader | Alteração | Na propriedade File URL, alterar o caminho para o arquivo de leitura: ${FILE_EXTENSION_PREFIX}:(${DATA_TMP_DIR}/TOTVSSMARTANALYTICS.${FILE_EXTENSION})#nome_tabela.csv* |
DELETE_FACT_TABLE_V3 | Data Reader | Alteração | Na propriedade File URL, alterar o caminho para o arquivo de leitura: ${FILE_EXTENSION_PREFIX}:(${DATA_TMP_DIR}/TOTVSSMARTANALYTICS.${FILE_EXTENSION})#CONF.csv |
Fluxo do Processo
* Representa todos os graphs que carregam as tabelas Fatos.
** Representa todos os graphs que carregam as tabelas Dimensões.
A imagem apresentada ilustra o fluxo do processo que pode ser iniciado com a chamada ao job principal, MAIN_JOB, originada do Protheus, por meio da função BIXExecGrf. Nesta chamada, os parâmetros FILE_EXTENSION_PREFIX e FILE_EXTENSION enviarão os valores tgz e tar.gz, respectivamente. De modo alternativo, o processo ainda poderá ser iniciado da forma anterior, executando o arquivo Run.bat, onde ambos os parâmetros adotarão valores padrão zip, que está definido no arquivo parametros.prm. Dando sequência ao fluxo, o MAIN_JOB iniciará a execução de todos os próximos graphs, primeiramente o DATA_DOWNLOAD, responsável por realizar o download do arquivo compactado para sua devida leitura pelos graphs consequentes. Os valores dos parâmetros são enviados internamente, pela propriedade Graph parameters to pass do componente Run Graph, e deste modo, o componente consegue encontrar o arquivo para download, podendo ser com extensão zip ou tar.gz (dependendo do que for enviado pelo parâmetro).
Após o download, inicia-se a carga das tabelas Fatos, sendo que cada tabela é carregada por um graph específico, e cada um deles, também chama um graph responsável por apagar o histórico de dados por um período preestabelecido, chamado DELETE_FACT_TABLE_V3. Em seguida, são executados os graphs responsáveis pela carga das tabelas Dimensões. Todos esses graphs citados também obtêm os valores dos parâmetros internamente, da mesma forma que citado anteriormente (propriedade Graph parameters to pass do componente Run Graph), para que desse modo, o componente do graph responsável pela leitura localize o arquivo csv desejado dentro do arquivo compactado (correspondente ao valor do parâmetro enviado), e prossiga com a carga dos dados.
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|