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.
Intente crear la marca de tiempo a partir de años, meses, días, horas, minutos, segundos y (opcional) campos de zona horaria. Como alternativa, intente crear la 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. La función devuelve NULL en entradas no válidas.
Syntax
import pyspark.sql.functions as sf
# From individual components
sf.try_make_timestamp(years=<years>, months=<months>, days=<days>, hours=<hours>, mins=<mins>, secs=<secs>)
# With timezone
sf.try_make_timestamp(years=<years>, months=<months>, days=<days>, hours=<hours>, mins=<mins>, secs=<secs>, timezone=<timezone>)
# From date and time
sf.try_make_timestamp(date=<date>, time=<time>)
# From date and time with timezone
sf.try_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 o NULL en caso de error.
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.try_make_timestamp(df.year, df.month, df.day, 'hour', df.min, df.sec, 'tz')
).show(truncate=False)
+----------------------------------------------------+
|try_make_timestamp(year, month, day, hour, min, sec)|
+----------------------------------------------------+
|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, 'CET']],
['year', 'month', 'day', 'hour', 'min', 'sec', 'tz'])
df.select(
sf.try_make_timestamp('year', 'month', df.day, df.hour, df.min, df.sec)
).show(truncate=False)
+------------------------------------------------------+
|try_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.try_make_timestamp(date=df.date, time=df.time, timezone=df.tz)).show(truncate=False)
+----------------------------------------+
|try_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.try_make_timestamp(date=df.date, time=df.time)).show(truncate=False)
+------------------------------+
|try_make_timestamp(date, time)|
+------------------------------+
|2014-12-28 06:30:45.887 |
+------------------------------+
Ejemplo 5: devuelve NULL en la entrada no válida.
import pyspark.sql.functions as sf
df = spark.createDataFrame([[2014, 13, 28, 6, 30, 45.887]],
['year', 'month', 'day', 'hour', 'min', 'sec'])
df.select(
sf.try_make_timestamp('year', 'month', df.day, df.hour, df.min, df.sec)
).show(truncate=False)
+------------------------------------------------------+
|try_make_timestamp(year, month, day, hour, min, sec) |
+------------------------------------------------------+
|NULL |
+------------------------------------------------------+