Pular para o conteúdo principal

do carimbo de data/hora UTC

Converte um carimbo de data/hora que é independente de fuso horário (interpretado como um carimbo de data/hora UTC) em um carimbo de data/hora no fuso horário especificado. Essa é uma função comum para bancos de dados que suportam TIMESTAMP SEM FUSO HORÁRIO.

No entanto, o timestamp no Spark representa o número de microssegundos desde a época Unix, que não é independente do fuso horário. Assim, no Spark, essa função simplesmente converte o valor do timestamp do fuso horário UTC para o fuso horário especificado.

Esta função pode retornar um resultado inesperado se a entrada for uma string com fuso horário, por exemplo. 2018-03-13T06:18:23+00:00, porque Spark primeiro converte as strings em timestamp de acordo com o fuso horário nas strings e, em seguida, exibe o resultado convertendo o timestamp em strings de acordo com o fuso horário local da sessão.

Para a função Databricks SQL correspondente, consulte a funçãofrom_utc_timestamp.

Sintaxe

Python
from pyspark.databricks.sql import functions as dbf

dbf.from_utc_timestamp(timestamp=<timestamp>, tz=<tz>)

Parâmetros

Parâmetro

Tipo

Descrição

timestamp

pyspark.sql.Column ou str

a coluna que contém os registros de data e hora

tz

pyspark.sql.Column ou literal string

Uma sequência de caracteres que detalha o ID do fuso horário para o qual a entrada deve ser ajustada. Deve estar no formato de IDs de zona baseados em região ou deslocamentos de zona. Os IDs de região devem ter o formato 'área/cidade', como 'America/Los_Angeles'. Os deslocamentos de zona devem estar no formato '(+|-)HH'.', por exemplo, '-08:00' ou '+01:00'. Além disso, 'UTC' e 'Z' são suportados como sinônimos de '+00:00'. Não é recomendável usar outros nomes curtos, pois podem ser ambíguos.

Devoluções

pyspark.sql.Column: valor de carimbo de data/hora representado no fuso horário especificado.

Exemplos

Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('1997-02-28 10:30:00', 'JST')], ['ts', 'tz'])
df.select('*', dbf.from_utc_timestamp('ts', 'PST')).show()
df.select('*', dbf.from_utc_timestamp(df.ts, df.tz)).show()