이는 동일한 작업을 수행하지만 간격을 만들 수 없는 경우 오류를 발생시키는 대신 NULL 값을 반환하는 특수 버전 make_interval 입니다.
문법
from pyspark.databricks.sql import functions as dbf
dbf.try_make_interval(years=<years>, months=<months>, weeks=<weeks>, days=<days>, hours=<hours>, mins=<mins>, secs=<secs>)
매개 변수
| 매개 변수 | 유형 | Description |
|---|---|---|
years |
pyspark.sql.Column 또는 str, optional |
연도 수, 양수 또는 음수입니다. |
months |
pyspark.sql.Column 또는 str, optional |
양수 또는 음수의 월 수입니다. |
weeks |
pyspark.sql.Column 또는 str, optional |
양수 또는 음수의 주 수입니다. |
days |
pyspark.sql.Column 또는 str, optional |
일 수, 양수 또는 음수입니다. |
hours |
pyspark.sql.Column 또는 str, optional |
양수 또는 음수의 시간 수입니다. |
mins |
pyspark.sql.Column 또는 str, optional |
분 수, 양수 또는 음수입니다. |
secs |
pyspark.sql.Column 또는 str, optional |
소수 부분이 마이크로초 정밀도인 초 수입니다. |
Returns
pyspark.sql.Column: 간격을 포함하는 새 열입니다.
예시
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([[100, 11, 1, 1, 12, 30, 01.001001]],
['year', 'month', 'week', 'day', 'hour', 'min', 'sec'])
df.select(
dbf.try_make_interval(df.year, df.month, 'week', df.day, 'hour', df.min, df.sec)
).show(truncate=False)
df = spark.createDataFrame([[100, 11, 1, 1, 12, 30, 01.001001]],
['year', 'month', 'week', 'day', 'hour', 'min', 'sec'])
df.select(
dbf.try_make_interval(df.year, df.month, 'week', df.day, df.hour, df.min)
).show(truncate=False)
df = spark.createDataFrame([[100, 11, 1, 1, 12, 30, 01.001001]],
['year', 'month', 'week', 'day', 'hour', 'min', 'sec'])
df.select(
dbf.try_make_interval(df.year, df.month, 'week', df.day, df.hour)
).show(truncate=False)
df = spark.createDataFrame([[100, 11, 1, 1, 12, 30, 01.001001]],
['year', 'month', 'week', 'day', 'hour', 'min', 'sec'])
df.select(dbf.try_make_interval(df.year, 'month', df.week, df.day)).show(truncate=False)
df = spark.createDataFrame([[100, 11, 1, 1, 12, 30, 01.001001]],
['year', 'month', 'week', 'day', 'hour', 'min', 'sec'])
df.select(dbf.try_make_interval(df.year, 'month', df.week)).show(truncate=False)
df = spark.createDataFrame([[100, 11, 1, 1, 12, 30, 01.001001]],
['year', 'month', 'week', 'day', 'hour', 'min', 'sec'])
df.select(dbf.try_make_interval(df.year, 'month')).show(truncate=False)
df = spark.createDataFrame([[100, 11, 1, 1, 12, 30, 01.001001]],
['year', 'month', 'week', 'day', 'hour', 'min', 'sec'])
df.select(dbf.try_make_interval(df.year)).show(truncate=False)
spark.range(1).select(dbf.try_make_interval()).show(truncate=False)
spark.range(1).select(dbf.try_make_interval(dbf.lit(2147483647))).show(truncate=False)