pyspark.sql.functions.make_timestamp_ltz ¶
-
pyspark.sql.functions.
make_timestamp_ltz
( years : ColumnOrName , months : ColumnOrName , days : ColumnOrName , hours : ColumnOrName , mins : ColumnOrName , secs : ColumnOrName , timezone : Optional [ ColumnOrName ] = None ) → pyspark.sql.column.Column [source] ¶ -
根据年份、月份、天数、小时、分钟、秒钟和时区字段创建当前时间戳(使用当地时区)。如果配置 spark.sql.ansi.enabled 为假,该函数在无效输入时返回NULL。否则,它将抛出一个错误。
在3.5.0版本中新增。
- Parameters
-
-
years
列
or str -
要表示的年份,从1到9999
-
months
列
or str -
要表示的月份,从1(一月)到12(十二月)
-
days
列
or str -
表示的月份中的天数,从1到31
-
hours
列
or str -
要表示的小时,从0到23
-
mins
列
or str -
表示小时中的分钟,从0到59
-
secs
列
or str -
表示分中的秒及其微小分数,范围从 0 到 60。 值可以是整数,例如 13,或是小数,例如 13.123。 如果 sec 参数等于 60,秒字段将被设置为 0,并且会在最终时间戳上加 1 分钟。
-
timezone
列
or str -
时区标识符。例如,CET,UTC等。
-
years
示例
>>> import pyspark.sql.functions as sf >>> spark.conf.set("spark.sql.session.timeZone", "America/Los_Angeles") >>> df = spark.createDataFrame([[2014, 12, 28, 6, 30, 45.887, 'CET']], ... ["year", "month", "day", "hour", "min", "sec", "timezone"]) >>> df.select(sf.make_timestamp_ltz( ... df.year, df.month, df.day, df.hour, df.min, df.sec, df.timezone) ... ).show(truncate=False) +--------------------------------------------------------------+ |make_timestamp_ltz(year, month, day, hour, min, sec, timezone)| +--------------------------------------------------------------+ |2014-12-27 21:30:45.887 | +--------------------------------------------------------------+
>>> df.select(sf.make_timestamp_ltz( ... df.year, df.month, df.day, df.hour, df.min, df.sec) ... ).show(truncate=False) +----------------------------------------------------+ |make_timestamp_ltz(year, month, day, hour, min, sec)| +----------------------------------------------------+ |2014-12-28 06:30:45.887 | +----------------------------------------------------+ >>> spark.conf.unset("spark.sql.session.timeZone")