Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Buat tanda waktu dari bidang zona waktu tahun, bulan, hari, jam, menit, detik, dan (opsional). Atau, buat tanda waktu dari bidang zona waktu tanggal, waktu, dan (opsional). Jenis data hasil konsisten dengan nilai konfigurasi spark.sql.timestampType. Jika konfigurasi spark.sql.ansi.enabled salah, fungsi mengembalikan NULL pada input yang tidak valid. Jika tidak, itu akan melemparkan kesalahan sebagai gantinya.
Untuk fungsi Databricks SQL yang sesuai, lihat make_timestamp fungsi.
Syntax
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>)
Parameter-parameternya
| Pengaturan | Tipe | Description |
|---|---|---|
years |
pyspark.sql.Column atau str |
Tahun yang akan diwakili, dari 1 hingga 9999. Diperlukan saat membuat tanda waktu dari komponen individual. Harus digunakan dengan bulan, hari, jam, menit, dan detik. |
months |
pyspark.sql.Column atau str |
Bulan dalam setahun untuk diwakili, dari 1 (Januari) hingga 12 (Desember). Diperlukan saat membuat tanda waktu dari komponen individual. Harus digunakan dengan tahun, hari, jam, menit, dan detik. |
days |
pyspark.sql.Column atau str |
Hari dalam sebulan untuk diwakili, dari 1 hingga 31. Diperlukan saat membuat tanda waktu dari komponen individual. Harus digunakan dengan tahun, bulan, jam, menit, dan detik. |
hours |
pyspark.sql.Column atau str |
Jam dalam sehari untuk diwakili, dari 0 hingga 23. Diperlukan saat membuat tanda waktu dari komponen individual. Harus digunakan dengan tahun, bulan, hari, menit, dan detik. |
mins |
pyspark.sql.Column atau str |
Menit dari jam untuk diwakili, dari 0 hingga 59. Diperlukan saat membuat tanda waktu dari komponen individual. Harus digunakan dengan tahun, bulan, hari, jam, dan detik. |
secs |
pyspark.sql.Column atau str |
Detik-of-menit dan mikro-pecahan untuk mewakili, dari 0 hingga 60. Nilainya dapat berupa bilangan bulat seperti 13, atau pecahan seperti 13,123. Jika argumen detik sama dengan 60, bidang detik diatur ke 0 dan 1 menit ditambahkan ke tanda waktu akhir. Diperlukan saat membuat tanda waktu dari komponen individual. Harus digunakan dengan tahun, bulan, hari, jam, dan menit. |
timezone |
pyspark.sql.Column atau str |
Optional. Pengidentifikasi zona waktu. Misalnya, CET, UTC, dan dll. |
date |
pyspark.sql.Column atau str |
Tanggal yang akan diwakili, dalam format DATE yang valid. Diperlukan saat membuat tanda waktu dari komponen tanggal dan waktu. Harus digunakan hanya dengan parameter waktu. |
time |
pyspark.sql.Column atau str |
Waktu untuk mewakili, dalam format TIME yang valid. Diperlukan saat membuat tanda waktu dari komponen tanggal dan waktu. Harus digunakan hanya dengan parameter tanggal. |
Pengembalian Barang
pyspark.sql.Column: Kolom baru yang berisi tanda waktu.
Examples
Contoh 1: Buat tanda waktu dari tahun, bulan, hari, jam, menit, detik, dan zona waktu.
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 |
+----------------------------------------------------+
Contoh 2: Buat tanda waktu dari tahun, bulan, hari, jam, menit, dan detik (tanpa zona waktu).
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 |
+--------------------------------------------------+
Contoh 3: Buat tanda waktu dari tanggal dan waktu dengan zona waktu.
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 |
+------------------------------------+
Contoh 4: Buat tanda waktu dari tanggal dan waktu (tanpa zona waktu).
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 |
+--------------------------+