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 - 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 que estão 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 como deverá ser dada todas as alterações necessárias, de forma que o processo de ETL do Smart Analytics leia tanto arquivos compactados no formato .zip, quanto no formato .tar.gz, enviando valoresatravés valores através de dois parâmetros, descritos nos tópicos seguintes.
Definição da Regra de Negócio
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 | No 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ção | No campo "Graph parameters to pass", incluir os 2 novos parâmetros: FILE_EXTENSION e FILE_EXTENSION_PREFIX. |
Graph DATA_DOWNLOAD | File Download | Alteração | No 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) | Parameter | Alteração | Adicionar o arquivo parametros.prm, em Parameters (Localizado em Outline).???
|
Graphs que carregam todas as tabelas (fatos e dimensões) | Data Reader | Alteraçã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* |
Para tornar possível a leitura de arquivos compactados com extensão .tar.gz, 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 recebendo o valor "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 no campo " Graph parameters to pass" para enviar os valores internamente.
- Nos graphs que carregam as tabelas fatos, também existe um componente Run Graph resposável por chamar um outro graph que realiza a deleção dos dados dentro 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 Smart Analytics. Este arquivo, de ora 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.
Todas essas alterações estão detalhadas no quadro acima.
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 seus valores padrão "zip", que está definido no arquivo parametros.prm. Dando sequência ao fluxo, o MAIN_JOB iniciará a execução dos graphs seguintes, primeiramente o DATA_DOWNLOAD, responsável por realizar o download do arquivo compactado para sua devida leitura pelos graphs posteriores. 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 (depende 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 dessa forma, o componente do graph responsável pela leitura localize o arquivo CSV desejado, dentro do arquivo compactado, 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. |
---|