Udostępnij przez


try_make_interval

Jest to specjalna wersja make_interval , która wykonuje tę samą operację, ale zwraca wartość NULL zamiast zgłaszać błąd, jeśli nie można utworzyć interwału.

Składnia

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>)

Parametry

Parameter Typ Description
years pyspark.sql.Column lub str, optional Liczba lat, dodatnia lub ujemna.
months pyspark.sql.Column lub str, optional Liczba miesięcy, dodatnich lub ujemnych.
weeks pyspark.sql.Column lub str, optional Liczba tygodni, dodatnich lub ujemnych.
days pyspark.sql.Column lub str, optional Liczba dni, dodatnia lub ujemna.
hours pyspark.sql.Column lub str, optional Liczba godzin, dodatnia lub ujemna.
mins pyspark.sql.Column lub str, optional Liczba minut, dodatnia lub ujemna.
secs pyspark.sql.Column lub str, optional Liczba sekund z częścią ułamkową w mikrosekundach precyzji.

Zwraca

pyspark.sql.Column: nowa kolumna zawierająca interwał.

Przykłady

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)