Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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 |
+--------------------------+