Árvore de páginas

 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

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_PREFIXFILE_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_PREFIXFILE_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.