Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current Restore this Version View Version History

« Previous Version 3 Current »

Este documento tem o objetivo de explicar e exemplificar o formato do dado de horas do tipo timezone utilizado no Databricks em seu armazenamento e visualização.

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á 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 long (Unix time) e o armazenamento desse dado no Databricks está sendo feito da seguinte forma:

  • Conversão de long para datatype timestamp;

  • Soma de GMT+3;

Conversão de long para datatype timestamp

Um dos motivos da conversão é para manter uma melhor usabilidade dos usuários ao utilizar esses 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 conseguirmos 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, 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