tente_criar_intervalo
Esta é uma versão especial de make_interval que realiza as mesmas operações, mas retorna um valor NULL em vez de gerar um erro se o intervalo não puder ser criado.
Sintaxe
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>)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| O número de anos, positivo ou negativo. |
|
| O número de meses, positivo ou negativo. |
|
| O número de semanas, positivo ou negativo. |
|
| O número de dias, positivo ou negativo. |
|
| O número de horas, positivo ou negativo. |
|
| O número de minutos, positivo ou negativo. |
|
| O número de segundos com a parte fracionária em precisão de microssegundos. |
Devoluções
pyspark.sql.ColumnUma nova coluna que contém um intervalo.
Exemplos
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)