Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 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 - TOTVS Smart Analytics

Módulo

-

Segmento Executor

Serviços

Projeto1

M_SER_BA002

IRM1

PCREQ-4093

Requisito1

PCREQ-9621

Subtarefa1

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 compactado gerado pelo Microsiga Protheus. 

O objetivo deste documento é demonstrar quais 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 através de dois parâmetros, FILE_EXTENSION_PREFIX e FILE_EXTENSION, 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 do Projeto, 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 TOTVS 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 no campo "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 resposável pela chamada da deleção dos exclusão dos dados de um período pré-estabelecido. 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. Este arquivo, de ora em deste requisito em diante, poderá ter extensão .zip ou .tar.gz. Para correta leitura do arquivo compactado, o caminho para sua localização, no campo "URL to download" do componente File Download, 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 desse modo: ${FILE_EXTENSION_PREFIX}:(${DATA_TMP_DIR}/TOTVSSMARTANALYTICS.${FILE_EXTENSION})#nome_tabela.csv*

 

Todas essas alterações estão detalhadas 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_JOBRun GraphAlteraçãoNo campo "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çãoNo campo "Graph parameters to pass", incluir os 2 novos parâmetros: FILE_EXTENSION e FILE_EXTENSION_PREFIX.
Graph DATA_DOWNLOADFile DownloadAlteraçãoNo campo "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 ReaderAlteração

No campo "File URL", alterar o caminho para o arquivo de leitura:

${FILE_EXTENSION_PREFIX}:(${DATA_TMP_DIR}/TOTVSSMARTANALYTICS.${FILE_EXTENSION})#nome_tabela.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 iniciada 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. Caso contrário, 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, pelo campo "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 pré estabelecido, 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 (campo "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.