Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Převede časové razítko, které je nezávislé na časovém pásmu (interpretované jako časové razítko UTC) na časové razítko v daném časovém pásmu. Toto je běžná funkce pro databáze podporující TIMESTAMP WITHOUT TIMEZONE.
Časové razítko ve Sparku ale představuje počet mikrosekund z epochy Unixu, která není nezávislá na časovém pásmu. Takže ve Sparku tato funkce jednoduše posune hodnotu časového razítka z časového pásma UTC na dané časové pásmo.
Tato funkce může vrátit neočekávaný výsledek, pokud je vstup řetězcem s časovým pásmem, například 2018-03-13T06:18:23+00:00, protože Spark nejprve přetypuje řetězec na časové razítko podle časového pásma v řetězci a pak zobrazí výsledek převodem časového razítka na řetězec podle místního časového pásma relace.
Odpovídající funkci SQL Databricks vizte funkcefrom_utc_timestamp.
Syntaxe
from pyspark.sql import functions as dbf
dbf.from_utc_timestamp(timestamp=<timestamp>, tz=<tz>)
Parametry
| Parameter | Typ | Description |
|---|---|---|
timestamp |
pyspark.sql.Column nebo str |
sloupec obsahující časové razítko |
tz |
pyspark.sql.Column nebo literal string |
Řetězec s podrobnostmi o ID časového pásma, na které má být vstup upraven. Měl by být ve formátu ID zón založených na oblasti nebo posunu zóny. ID oblastí musí mít tvar "area/city", například "America/Los_Angeles". Posuny zóny musí být ve formátu (+|-)HH:mm, například -08:00 nebo +01:00. Podporuje se také "UTC" a "Z" jako aliasy "+00:00". Jiné krátké názvy se nedoporučuje používat, protože mohou být nejednoznačné. |
Návraty
pyspark.sql.Column: hodnota časového razítka reprezentovaná v daném časovém pásmu.
Examples
from pyspark.sql import functions as dbf
df = spark.createDataFrame([('1997-02-28 10:30:00', 'JST')], ['ts', 'tz'])
df.select('*', dbf.from_utc_timestamp('ts', 'PST')).show()
df.select('*', dbf.from_utc_timestamp(df.ts, df.tz)).show()