Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Cree una marca de tiempo a partir de años, meses, días, horas, minutos, segundos y (opcional) campos de zona horaria. Como alternativa, cree una marca de tiempo a partir de campos de zona horaria de fecha, hora y (opcional). El tipo de datos de resultado es coherente con el valor de configuración spark.sql.timestampType. Si la configuración spark.sql.ansi.enabled es false, la función devuelve NULL en entradas no válidas. De lo contrario, producirá un error en su lugar.
Para obtener la función SQL de Databricks correspondiente, consulte make_timestamp function.
Syntax
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 o str |
Año que se va a representar, de 1 a 9999. Necesario al crear marcas de tiempo a partir de componentes individuales. Debe usarse con meses, días, horas, minutos y segundos. |
months |
pyspark.sql.Column o str |
Mes de año que se va a representar, del 1 (enero) al 12 de diciembre. Necesario al crear marcas de tiempo a partir de componentes individuales. Debe usarse con años, días, horas, minutos y segundos. |
days |
pyspark.sql.Column o str |
Día de mes que se va a representar, de 1 a 31. Necesario al crear marcas de tiempo a partir de componentes individuales. Debe usarse con años, meses, horas, minutos y segundos. |
hours |
pyspark.sql.Column o str |
Hora de día que se va a representar, de 0 a 23. Necesario al crear marcas de tiempo a partir de componentes individuales. Debe usarse con años, meses, días, minutos y segundos. |
mins |
pyspark.sql.Column o str |
El minuto de hora que se va a representar, de 0 a 59. Necesario al crear marcas de tiempo a partir de componentes individuales. Debe usarse con años, meses, días, horas y segundos. |
secs |
pyspark.sql.Column o str |
Segundo de minuto y su microfracción que se va a representar, de 0 a 60. El valor puede ser un entero como 13 o una fracción como 13.123. Si el argumento sec es igual a 60, el campo de segundos se establece en 0 y 1 minuto se agrega a la marca de tiempo final. Necesario al crear marcas de tiempo a partir de componentes individuales. Debe usarse con años, meses, días, horas y minutos. |
timezone |
pyspark.sql.Column o str |
Optional. Identificador de zona horaria. Por ejemplo, CET, UTC, etc. |
date |
pyspark.sql.Column o str |
Fecha que se va a representar, en formato DATE válido. Necesario al crear marcas de tiempo a partir de componentes de fecha y hora. Solo se debe usar con el parámetro time. |
time |
pyspark.sql.Column o str |
Tiempo que se va a representar, en formato TIME válido. Necesario al crear marcas de tiempo a partir de componentes de fecha y hora. Solo se debe usar con el parámetro date. |
Devoluciones
pyspark.sql.Column: una nueva columna que contiene una marca de tiempo.
Examples
Ejemplo 1: marca de tiempo de años, meses, días, horas, minutos, segundos y zona horaria.
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 |
+----------------------------------------------------+
Ejemplo 2: marca de tiempo de años, meses, días, horas, minutos y segundos (sin zona horaria).
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 |
+--------------------------------------------------+
Ejemplo 3: Marca de tiempo a partir de fecha y hora con zona horaria.
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 |
+------------------------------------+
Ejemplo 4: Marca de tiempo a partir de fecha y hora (sin zona horaria).
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 |
+--------------------------+