运用年、月、周、天、小时、分钟和秒来创建一个时间间隔。
有关相应的 Databricks SQL 函数,请参阅 make_interval 函数。
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.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 |
以微秒精度表示的小数部分的秒数。 |
退货
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.make_interval(df.year, df.month, 'week', df.day, df.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.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.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.make_interval(df.year, df.month, '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.make_interval(df.year, df.month, '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.make_interval(df.year, df.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.make_interval(df.year)).show(truncate=False)
spark.range(1).select(dbf.make_interval()).show(truncate=False)