Megosztás:


make_timestamp

Időbélyeg létrehozása évek, hónapok, napok, órák, percek, másodpercek és (nem kötelező) időzónák mezőiből. Másik lehetőségként időbélyeget is létrehozhat dátum, idő és (nem kötelező) időzóniás mezőkből. Az eredmény adattípusa megegyezik a konfiguráció spark.sql.timestampTypeértékével. Ha a konfiguráció spark.sql.ansi.enabled hamis, a függvény null értéket ad vissza érvénytelen bemeneteken. Ellenkező esetben ehelyett hibaüzenetet ad.

A megfelelő Databricks SQL-függvényhez lásd a függvénytmake_timestamp.

Szemantika

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>)

Paraméterek

Paraméter Típus Description
years pyspark.sql.Column vagy str A képviselni kívánt év, 1-től 9999-ig. Az egyes összetevők időbélyegeinek létrehozásakor szükséges. Hónapok, napok, órák, percek és másodpercek esetén kell használni.
months pyspark.sql.Column vagy str A képviselendő év hónapja, január 1-től (december) 12-ig. Az egyes összetevők időbélyegeinek létrehozásakor szükséges. Éveket, napokat, órákat, perceket és másodperceket kell használni.
days pyspark.sql.Column vagy str A hónap 1 és 31 közötti napja. Az egyes összetevők időbélyegeinek létrehozásakor szükséges. Éveket, hónapokat, órákat, perceket és másodperceket kell használni.
hours pyspark.sql.Column vagy str A 0 és 23 közötti napi óra. Az egyes összetevők időbélyegeinek létrehozásakor szükséges. Éveket, hónapokat, napokat, perceket és másodperceket kell használni.
mins pyspark.sql.Column vagy str A képviselendő óra perce, 0-tól 59-ig. Az egyes összetevők időbélyegeinek létrehozásakor szükséges. Éveket, hónapokat, napokat, órákat és másodperceket kell használni.
secs pyspark.sql.Column vagy str A másodperc és a mikro-tört, hogy képviselje, 0-tól 60- ra. Az érték lehet 13-hoz hasonló egész szám vagy 13,123-hoz hasonló tört. Ha a másodperc argumentum értéke 60, akkor a másodperc mező értéke 0, és 1 perc lesz hozzáadva az utolsó időbélyeghez. Az egyes összetevők időbélyegeinek létrehozásakor szükséges. Éveket, hónapokat, napokat, órákat és perceket kell használni.
timezone pyspark.sql.Column vagy str Opcionális. Az időzóna azonosítója. Például: CET, UTC stb.
date pyspark.sql.Column vagy str A megjeleníteni kívánt dátum érvényes DÁTUM formátumban. Időbélyegek dátum- és időösszetevőkből való létrehozásakor szükséges. Csak időparaméterrel használható.
time pyspark.sql.Column vagy str A jelölni kívánt idő érvényes IDŐ formátumban. Időbélyegek dátum- és időösszetevőkből való létrehozásakor szükséges. Csak dátumparaméterrel használható.

Visszatérítések

pyspark.sql.Column: Egy új oszlop, amely időbélyeget tartalmaz.

Példák

1. példa: Időbélyeg készítése évek, hónapok, napok, órák, percek, másodpercek és időzónák alapján.

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                             |
+----------------------------------------------------+

2. példa: Időbélyeg készítése évekből, hónapokból, napokból, órákból, percekből és másodpercekből (időzónák nélkül).

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                           |
+--------------------------------------------------+

3. példa: Időbélyeg készítése dátumból és időzónából.

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             |
+------------------------------------+

4. példa: Időbélyeg készítése dátumból és időből (időzóna nélkül).

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   |
+--------------------------+