make_timestamp_ntz
Criar data e hora locais a partir dos campos de anos, meses, dias, horas, minutos e segundos. Como alternativa, tente criar uma data e hora local a partir dos campos de data e hora. Se a configuração spark.sql.ansi.enabled for falsa, a função retorna NULL em entradas inválidas. Caso contrário, ocorrerá um erro.
Sintaxe
import pyspark.sql.functions as sf
# From individual components
sf.make_timestamp_ntz(years=<years>, months=<months>, days=<days>, hours=<hours>, mins=<mins>, secs=<secs>)
# From date and time
sf.make_timestamp_ntz(date=<date>, time=<time>)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| O ano a ser representado, de 1 a 9999. Necessário ao criar registros de data e hora a partir de componentes individuais. Deve ser usado com meses, dias, horas, minutos e segundos. |
|
| O mês do ano a ser representado, de 1 (janeiro) a 12 (dezembro). Necessário ao criar registros de data e hora a partir de componentes individuais. Deve ser usado com anos, dias, horas, minutos e segundos. |
|
| O dia do mês a ser representado, de 1 a 31. Necessário ao criar registros de data e hora a partir de componentes individuais. Deve ser usado com anos, meses, horas, minutos e segundos. |
|
| A hora do dia a ser representada, de 0 a 23. Necessário ao criar registros de data e hora a partir de componentes individuais. Deve ser usado com anos, meses, dias, minutos e segundos. |
|
| O minuto da hora a ser representado, de 0 a 59. Necessário ao criar registros de data e hora a partir de componentes individuais. Deve ser usado com anos, meses, dias, horas e segundos. |
|
| 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. Necessário ao criar registros de data e hora a partir de componentes individuais. Deve ser usado com anos, meses, dias, horas e minutos. |
|
| A data a ser representada, em formato DATE válido. Necessário ao criar registros de data e hora a partir de componentes de data e hora. Deve ser usado apenas com parâmetro de tempo. |
|
| O horário a ser representado, em formato de HORA válido. Necessário ao criar registros de data e hora a partir de componentes de data e hora. Deve ser usado apenas com parâmetro de data. |
Devoluções
pyspark.sql.ColumnUma nova coluna que contém a data e hora local.
Exemplos
Exemplo 1 : Converter data e hora local em anos, meses, dias, horas, minutos e segundos.
import pyspark.sql.functions as sf
df = spark.createDataFrame([[2014, 12, 28, 6, 30, 45.887]],
['year', 'month', 'day', 'hour', 'min', 'sec'])
df.select(
sf.make_timestamp_ntz('year', 'month', df.day, df.hour, df.min, df.sec)
).show(truncate=False)
+----------------------------------------------------+
|make_timestamp_ntz(year, month, day, hour, min, sec)|
+----------------------------------------------------+
|2014-12-28 06:30:45.887 |
+----------------------------------------------------+
Exemplo 2 : Converter data e hora locais em data e hora.
import pyspark.sql.functions as sf
from datetime import date, time
df = spark.range(1).select(
sf.lit(date(2014, 12, 28)).alias("date"),
sf.lit(time(6, 30, 45, 887000)).alias("time")
)
df.select(sf.make_timestamp_ntz(date=df.date, time=df.time)).show(truncate=False)
+------------------------------+
|make_timestamp_ntz(date, time)|
+------------------------------+
|2014-12-28 06:30:45.887 |
+------------------------------+