Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Durante o processo de ingestão dos dados vindos do SAP, é feita uma tratativa/limpeza nos dados para adequá-los ao formato de armazenamento do Databricks, visando sempre o formato mais genérico e limpo o possível para que possa atender os mais diferentes tipo de cenários que esse dados irá irão atender.

No sistema SAP possui um tipo de campo de dados denominado TIMS referente a horas, sem a data, exemplo: 13:30:00. Link de referencia https://www.se80.co.uk/sap-data-element/?name=tims

O dado está sendo lido inicialmente em um formato string long (Unix time) e o armazenamento desse dado no Databricks está sendo feito da seguinte forma:

  • Concatenação com a data padrão 1970-01-01;

  • Conversão Conversão de long para datatype timstamp timestamp;

  • Soma de GMT+3;

Concatenação com a data padrão 1970-01-01

O motivo da concatenação com a data padrão é para posteriormente conseguirmos converter para um formato timestamp e Conversão de long para datatype timestamp

Um dos motivos da conversão é para manter uma melhor usabilidade dos usuários na utilização desses tipos de dados no Databricks.

...

O segundo motivo da conversão é seguir o padrão do Posix Time (https://pt.wikipedia.org/wiki/Era_Unix)para posteriormente ser possível, tanto converter o horário padrão do timezone utilizando funções GMT, quanto proporcionar a possibilidade de utilização de funções nativas para trabalhar com horas.

...

Obs.: Não deverá ser considerado o valor da data 1970-01-01 como data e sim apenas o valor do horário contido no campo, pois naturalmente no SAP todas as tabelas que possuem colunas de horas, Exemplo: , são acompanhadas, com uma coluna de data, e essa sim, poderá ser considerada em cálculos para obter a data deste registro.

...

Soma de GMT+3

Para todas as colunas do tipo hora, que são feitas as ingestões do SAP ao Databricks, será somado o valor de GMT+3. Isto ocorrerá pois o SAP envia para o Databricks o registro da hora no formato GMT-3 e para, poder mantermos a interoperabilidade entre sistemas, permanecemos no padrão GMT+0.

...

⚠️ IMPORTANTE ⚠️

Fique atento a visualização do GMT que está utilizando para efetuar suas querys no Databricks em relação as tabelas dos databases SAP, caso esteja utilizando o formato padrão GMT+0 (+000 no final da data), utilize a função de SET TIMEZONE para especificar o GMT com a sua necessidade, ou em caso de grandes equipes que compartilharão os mesmo recursos de GMT, é recomendável a solicitação a equipe de Arquitetura de Dados um cluster previamente configurado com o timezone necessário.

...

Links uteis