try_make_timestamp_ntz

Zkuste vytvořit místní datum a čas z polí roků, měsíců, dnů, hodin, minut a sekund. Případně zkuste vytvořit místní datum a čas z polí data a času. Funkce vrátí hodnotu NULL pro neplatné vstupy.

Přidáno do Databricks Runtime 16.1

Syntaxe

import pyspark.sql.functions as sf

# From individual components
sf.try_make_timestamp_ntz(years=<years>, months=<months>, days=<days>, hours=<hours>, mins=<mins>, secs=<secs>)

# From date and time
sf.try_make_timestamp_ntz(date=<date>, time=<time>)

Parametry

Parameter Typ Description
years pyspark.sql.Column nebo str Rok, který má představovat, od 1 do 9999. Vyžaduje se při vytváření časových razítek z jednotlivých komponent. Musí se používat s měsíci, dny, hodinami, minutami a sekundami.
months pyspark.sql.Column nebo str Měsíc v roce, který má představovat, od 1 (leden) do 12 (prosinec). Vyžaduje se při vytváření časových razítek z jednotlivých komponent. Musí se používat s roky, dny, hodinami, minutami a sekundami.
days pyspark.sql.Column nebo str Den v měsíci, který má představovat, od 1 do 31. Vyžaduje se při vytváření časových razítek z jednotlivých komponent. Musí se používat s roky, měsíci, hodinami, minami a sek.
hours pyspark.sql.Column nebo str Hodina dne, která se má znázorňovat, od 0 do 23. Vyžaduje se při vytváření časových razítek z jednotlivých komponent. Musí se používat s roky, měsíci, dny, miny a sek.
mins pyspark.sql.Column nebo str Minuta hodina, která se má znázorňovat, od 0 do 59. Vyžaduje se při vytváření časových razítek z jednotlivých komponent. Musí se používat s roky, měsíci, dny, hodinami a sek.
secs pyspark.sql.Column nebo str Druhá minuta a její mikro-zlomek, které představují, od 0 do 60. Hodnota může být celé číslo jako 13 nebo zlomek jako 13,123. Pokud se argument sekund rovná 60, pole sekund se nastaví na 0 a 1 minutu se přidá do konečného časového razítka. Vyžaduje se při vytváření časových razítek z jednotlivých komponent. Musí se používat s roky, měsíci, dny, hodinami a minutami.
date pyspark.sql.Column nebo str Datum, které má představovat, v platném formátu DATUM. Vyžaduje se při vytváření časových razítek z komponent data a času. Musí se používat pouze s časovým parametrem.
time pyspark.sql.Column nebo str Čas, který má představovat platný formát TIME. Vyžaduje se při vytváření časových razítek z komponent data a času. Je nutné použít pouze s parametrem date.

Návraty

pyspark.sql.Column: Nový sloupec, který obsahuje místní datum a čas, nebo NULL v případě chyby.

Examples

Příklad 1: Nastavení místního data a času z let, měsíců, dnů, hodin, min, sekund

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.try_make_timestamp_ntz('year', 'month', df.day, df.hour, df.min, df.sec)
).show(truncate=False)
+--------------------------------------------------------+
|try_make_timestamp_ntz(year, month, day, hour, min, sec)|
+--------------------------------------------------------+
|2014-12-28 06:30:45.887                                 |
+--------------------------------------------------------+

Příklad 2: Nastavení místního data a času od data a času

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_ntz(date=df.date, time=df.time)).show(truncate=False)
+----------------------------------+
|try_make_timestamp_ntz(date, time)|
+----------------------------------+
|2014-12-28 06:30:45.887           |
+----------------------------------+

Příklad 3: Vrátí hodnotu NULL pro neplatný vstup.

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_ntz('year', 'month', df.day, df.hour, df.min, df.sec)
).show(truncate=False)
+--------------------------------------------------------+
|try_make_timestamp_ntz(year, month, day, hour, min, sec)|
+--------------------------------------------------------+
|NULL                                                    |
+--------------------------------------------------------+