try_make_timestamp_ltz
Tente criar o registro de data e hora atual com o fuso horário local a partir dos campos de anos, meses, dias, horas, minutos, segundos e fuso horário. A função retorna NULL para entradas inválidas.
Sintaxe
from pyspark.databricks.sql import functions as dbf
dbf.try_make_timestamp_ltz(years=<years>, months=<months>, days=<days>, hours=<hours>, mins=<mins>, secs=<secs>, timezone=<timezone>)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| O ano a representar, de 1 a 9999 |
|
| O mês do ano a ser representado, de 1 (janeiro) a 12 (dezembro). |
|
| O dia do mês a ser representado, de 1 a 31. |
|
| A hora do dia a ser representada, de 0 a 23. |
|
| O minuto da hora a ser representado, de 0 a 59. |
|
| O segundo de minuto e sua microfração representam, de 0 a 60. O valor pode ser um número inteiro, como 13, ou uma fração, como 13,123. Se o argumento "sec" for igual a 60, o campo de segundos será definido como 0 e 1 minuto será adicionado ao carimbo de data/hora final. |
|
| O identificador de fuso horário. Por exemplo, CET, UTC, etc. |
Devoluções
pyspark.sql.ColumnUma nova coluna que contém um registro de data e hora atual ou NULL em caso de erro.
Exemplos
spark.conf.set("spark.sql.session.timeZone", "America/Los_Angeles")
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([[2014, 12, 28, 6, 30, 45.887, 'CET']],
['year', 'month', 'day', 'hour', 'min', 'sec', 'tz'])
df.select(
dbf.try_make_timestamp_ltz('year', 'month', df.day, df.hour, df.min, df.sec, 'tz')
).show(truncate=False)
df = spark.createDataFrame([[2014, 12, 28, 6, 30, 45.887, 'CET']],
['year', 'month', 'day', 'hour', 'min', 'sec', 'tz'])
df.select(
dbf.try_make_timestamp_ltz('year', 'month', df.day, df.hour, df.min, df.sec)
).show(truncate=False)
df = spark.createDataFrame([[2014, 13, 28, 6, 30, 45.887, 'CET']],
['year', 'month', 'day', 'hour', 'min', 'sec', 'tz'])
df.select(
dbf.try_make_timestamp_ltz('year', 'month', df.day, df.hour, df.min, df.sec)
).show(truncate=False)
spark.conf.unset("spark.sql.session.timeZone")