Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Crie um carimbo de data/hora a partir de anos, meses, dias, horas, minutos, ss e campos de fuso horário (opcional). Como alternativa, crie o carimbo de data,hora e campos de fuso horário (opcional). O tipo de dados de resultado é consistente com o valor da configuração spark.sql.timestampType. Se a configuração spark.sql.ansi.enabled for falsa, a função retornará NULL em entradas inválidas. Caso contrário, ele gerará um erro em vez disso.
Para a função SQL do Databricks correspondente, consulte a função make_timestamp.
Sintaxe
import pyspark.sql.functions as sf
# From individual components
sf.make_timestamp(years=<years>, months=<months>, days=<days>, hours=<hours>, mins=<mins>, secs=<secs>)
# With timezone
sf.make_timestamp(years=<years>, months=<months>, days=<days>, hours=<hours>, mins=<mins>, secs=<secs>, timezone=<timezone>)
# From date and time
sf.make_timestamp(date=<date>, time=<time>)
# From date and time with timezone
sf.make_timestamp(date=<date>, time=<time>, timezone=<timezone>)
Parâmetros
| Parâmetro | Tipo | Description |
|---|---|---|
years |
pyspark.sql.Column ou str |
O ano a ser representado, de 1 a 9999. Necessário ao criar carimbos de data/hora de componentes individuais. Deve ser usado com meses, dias, horas, minutos e ss. |
months |
pyspark.sql.Column ou str |
O mês do ano a ser representado, de 1º de janeiro a 12 (dezembro). Necessário ao criar carimbos de data/hora de componentes individuais. Deve ser usado com anos, dias, horas, minutos e ss. |
days |
pyspark.sql.Column ou str |
O dia do mês a ser representado, de 1 a 31. Necessário ao criar carimbos de data/hora de componentes individuais. Deve ser usado com anos, meses, horas, minutos e ss. |
hours |
pyspark.sql.Column ou str |
A hora do dia a ser representada, de 0 a 23. Necessário ao criar carimbos de data/hora de componentes individuais. Deve ser usado com anos, meses, dias, minutos e ss. |
mins |
pyspark.sql.Column ou str |
O minuto de hora a ser representado, de 0 a 59. Necessário ao criar carimbos de data/hora de componentes individuais. Deve ser usado com anos, meses, dias, horas e ss. |
secs |
pyspark.sql.Column ou str |
O segundo minuto e sua micro-fração a ser representada, de 0 a 60. O valor pode ser um inteiro como 13 ou uma fração como 13,123. Se o argumento s 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 carimbos de data/hora de componentes individuais. Deve ser usado com anos, meses, dias, horas e minutos. |
timezone |
pyspark.sql.Column ou str |
Optional. O identificador de fuso horário. Por exemplo, CET, UTC e etc. |
date |
pyspark.sql.Column ou str |
A data a ser representada, no formato DATE válido. Necessário ao criar carimbos de data e hora de componentes de data e hora. Deve ser usado somente com parâmetro de tempo. |
time |
pyspark.sql.Column ou str |
O tempo a ser representado, no formato TIME válido. Necessário ao criar carimbos de data e hora de componentes de data e hora. Deve ser usado somente com parâmetro de data. |
Devoluções
pyspark.sql.Column: uma nova coluna que contém um carimbo de data/hora.
Exemplos
Exemplo 1: Fazer carimbo de data/hora de anos, meses, dias, horas, minutos, ss e fuso horário.
import pyspark.sql.functions as sf
df = spark.createDataFrame([[2014, 12, 28, 6, 30, 45.887, 'CET']],
['year', 'month', 'day', 'hour', 'min', 'sec', 'tz'])
df.select(
sf.make_timestamp(df.year, df.month, df.day, 'hour', df.min, df.sec, 'tz')
).show(truncate=False)
+----------------------------------------------------+
|make_timestamp(year, month, day, hour, min, sec, tz)|
+----------------------------------------------------+
|2014-12-27 21:30:45.887 |
+----------------------------------------------------+
Exemplo 2: Fazer carimbo de data/hora de anos, meses, dias, horas, minutos e ss (sem fuso horário).
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('year', 'month', df.day, df.hour, df.min, df.sec)
).show(truncate=False)
+--------------------------------------------------+
|make_timestamp(year, month, day, hour, min, sec) |
+--------------------------------------------------+
|2014-12-28 06:30:45.887 |
+--------------------------------------------------+
Exemplo 3: fazer carimbo de data e hora com fuso horário.
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"),
sf.lit("CET").alias("tz")
)
df.select(sf.make_timestamp(date=df.date, time=df.time, timezone=df.tz)).show(truncate=False)
+------------------------------------+
|make_timestamp(date, time, timezone)|
+------------------------------------+
|2014-12-27 21:30:45.887 |
+------------------------------------+
Exemplo 4: Fazer carimbo de data e hora (sem fuso horário).
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(date=df.date, time=df.time)).show(truncate=False)
+--------------------------+
|make_timestamp(date, time)|
+--------------------------+
|2014-12-28 06:30:45.887 |
+--------------------------+