Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yıl, ay, gün, saat, dakika, saniye ve (isteğe bağlı) saat dilimi alanlarından zaman damgası oluşturun. Alternatif olarak tarih, saat ve (isteğe bağlı) saat dilimi alanlarından zaman damgası oluşturabilirsiniz. Sonuç veri türü yapılandırma spark.sql.timestampTypedeğeriyle tutarlıdır. Yapılandırma spark.sql.ansi.enabled false ise işlev geçersiz girişlerde NULL döndürür. Aksi takdirde, bunun yerine bir hata oluşturur.
İlgili Databricks SQL fonksiyonu için bakınız make_timestamp fonksiyonu.
Sözdizimi
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>)
Parametreler
| Parametre | Türü | Description |
|---|---|---|
years |
pyspark.sql.Column veya str |
1 ile 9999 arasındaki temsili yıl. Tek tek bileşenlerden zaman damgaları oluştururken gereklidir. Aylar, günler, saatler, dakikalar ve saniyelerle kullanılmalıdır. |
months |
pyspark.sql.Column veya str |
1 (Ocak) ile 12 (Aralık) arasındaki temsili yılın ayı. Tek tek bileşenlerden zaman damgaları oluştururken gereklidir. Yıl, gün, saat, dakika ve saniye ile kullanılmalıdır. |
days |
pyspark.sql.Column veya str |
1 ile 31 arasındaki temsili ayın günü. Tek tek bileşenlerden zaman damgaları oluştururken gereklidir. Yıllar, aylar, saatler, dakikalar ve saniyelerle kullanılmalıdır. |
hours |
pyspark.sql.Column veya str |
0 ile 23 arasındaki temsili günün saati. Tek tek bileşenlerden zaman damgaları oluştururken gereklidir. Yıllar, aylar, günler, dakikalar ve saniyelerle kullanılmalıdır. |
mins |
pyspark.sql.Column veya str |
Temsili saat dakikası, 0 ile 59 arasında. Tek tek bileşenlerden zaman damgaları oluştururken gereklidir. Yıl, ay, gün, saat ve saniye ile kullanılmalıdır. |
secs |
pyspark.sql.Column veya str |
Dakikanın ikinci bölümü ve 0 ile 60 arasındaki mikro kesirini temsil eder. Değer 13 gibi bir tamsayı veya 13,123 gibi bir kesir olabilir. sn bağımsız değişkeni 60'a eşitse, saniye alanı 0 olarak ayarlanır ve son zaman damgasına 1 dakika eklenir. Tek tek bileşenlerden zaman damgaları oluştururken gereklidir. Yıl, ay, gün, saat ve dakika cinsinden kullanılmalıdır. |
timezone |
pyspark.sql.Column veya str |
Optional. Saat dilimi tanımlayıcısı. Örneğin, CET, UTC vb. |
date |
pyspark.sql.Column veya str |
Geçerli TARİh biçiminde temsil etmek için tarih. Tarih ve saat bileşenlerinden zaman damgaları oluştururken gereklidir. Yalnızca time parametresiyle kullanılmalıdır. |
time |
pyspark.sql.Column veya str |
Geçerli TIME biçiminde temsil etmek için gereken süre. Tarih ve saat bileşenlerinden zaman damgaları oluştururken gereklidir. Yalnızca tarih parametresiyle kullanılmalıdır. |
İade
pyspark.sql.Column: Zaman damgası içeren yeni bir sütun.
Örnekler
Örnek 1: Yıl, ay, gün, saat, dakika, saniye ve saat diliminden zaman damgası yapı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 |
+----------------------------------------------------+
Örnek 2: Yıllar, aylar, günler, saatler, dakikalar ve saniyelerden (saat dilimi olmadan) zaman damgası yapın.
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 |
+--------------------------------------------------+
Örnek 3: Saat dilimiyle tarih ve saatten zaman damgası yapma.
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 |
+------------------------------------+
Örnek 4: Tarih ve saatten (saat dilimi olmadan) zaman damgası yapın.
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 |
+--------------------------+