연도, 월, 일, 시간, 분, 초 및(선택 사항) 표준 시간대 필드에서 타임스탬프를 만듭니다. 또는 날짜, 시간 및 (선택 사항) 표준 시간대 필드에서 타임스탬프를 만듭니다. 결과 데이터 형식은 구성 값과 일치합니다 spark.sql.timestampType. 구성 spark.sql.ansi.enabled 이 false이면 함수는 잘못된 입력에 대해 NULL을 반환합니다. 그렇지 않으면 오류가 발생합니다.
해당 Databricks SQL 함수에 대해 알아보려면 make_timestamp 함수를 참조하세요.
문법
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>)
매개 변수
| 매개 변수 | 유형 | Description |
|---|---|---|
years |
pyspark.sql.Column 또는 str |
1에서 9999까지 대표할 연도입니다. 개별 구성 요소에서 타임스탬프를 만들 때 필요합니다. 월, 일, 시간, 분 및 초와 함께 사용해야 합니다. |
months |
pyspark.sql.Column 또는 str |
1월(1월)에서 12월(12월)으로 나타낼 월입니다. 개별 구성 요소에서 타임스탬프를 만들 때 필요합니다. 연도, 일, 시간, 분 및 초와 함께 사용해야 합니다. |
days |
pyspark.sql.Column 또는 str |
1에서 31까지 나타낼 월의 일입니다. 개별 구성 요소에서 타임스탬프를 만들 때 필요합니다. 연도, 월, 시간, 분 및 초와 함께 사용해야 합니다. |
hours |
pyspark.sql.Column 또는 str |
나타낼 시간(0에서 23까지)입니다. 개별 구성 요소에서 타임스탬프를 만들 때 필요합니다. 연도, 월, 일, 분 및 초와 함께 사용해야 합니다. |
mins |
pyspark.sql.Column 또는 str |
0에서 59까지 나타낼 시간(분)입니다. 개별 구성 요소에서 타임스탬프를 만들 때 필요합니다. 연도, 월, 일, 시간 및 초와 함께 사용해야 합니다. |
secs |
pyspark.sql.Column 또는 str |
0에서 60까지의 초 분 및 나타낼 마이크로 분수입니다. 값은 13과 같은 정수이거나 13.123과 같은 분수일 수 있습니다. sec 인수가 60과 같으면 초 필드가 0으로 설정되고 1분이 마지막 타임스탬프에 추가됩니다. 개별 구성 요소에서 타임스탬프를 만들 때 필요합니다. 연도, 월, 일, 시간 및 분과 함께 사용해야 합니다. |
timezone |
pyspark.sql.Column 또는 str |
Optional. 표준 시간대 식별자입니다. 예를 들어 CET, UTC 등입니다. |
date |
pyspark.sql.Column 또는 str |
유효한 DATE 형식으로 나타낼 날짜입니다. 날짜 및 시간 구성 요소에서 타임스탬프를 만들 때 필요합니다. 시간 매개 변수와 함께만 사용해야 합니다. |
time |
pyspark.sql.Column 또는 str |
유효한 TIME 형식으로 나타낼 시간입니다. 날짜 및 시간 구성 요소에서 타임스탬프를 만들 때 필요합니다. 날짜 매개 변수와 함께만 사용해야 합니다. |
Returns
pyspark.sql.Column: 타임스탬프를 포함하는 새 열입니다.
예시
예제 1: 연도, 월, 일, 시간, 분, 초 및 표준 시간대에서 타임스탬프를 만듭니다.
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: 연도, 월, 일, 시간, 분 및 초(표준 시간대 제외)에서 타임스탬프를 만듭니다.
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: 날짜 및 시간에서 타임스탬프를 표준 시간대로 만듭니다.
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: 날짜 및 시간(표준 시간대 제외)에서 타임스탬프를 만듭니다.
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 |
+--------------------------+