Поделиться через


try_mod

Возвращает остаток после dividend/divisor. Результат всегда имеет значение NULL, если divisor значение равно 0. Поддерживает Spark Connect.

Для соответствующей функции Databricks SQL смотрите функцию try_mod.

Синтаксис

from pyspark.databricks.sql import functions as dbf

dbf.try_mod(left=<left>, right=<right>)

Параметры

Параметр Тип Description
left pyspark.sql.Column or column name Дивидендов
right pyspark.sql.Column or column name Делитель

Примеры

from pyspark.databricks.sql import functions as dbf
spark.createDataFrame(
    [(6000, 15), (3, 2), (1234, 0)], ["a", "b"]
).select("*", dbf.try_mod("a", "b")).show()
+----+---+-------------+
|   a|  b|try_mod(a, b)|
+----+---+-------------+
|6000| 15|            0|
|   3|  2|            1|
|1234|  0|         NULL|
+----+---+-------------+

from pyspark.databricks.sql import functions as dbf
origin = spark.conf.get("spark.sql.ansi.enabled")
spark.conf.set("spark.sql.ansi.enabled", "true")
try:
    spark.range(1).select(dbf.try_mod("id", dbf.lit(0))).show()
finally:
    spark.conf.set("spark.sql.ansi.enabled", origin)
+--------------+
|try_mod(id, 0)|
+--------------+
|          NULL|
+--------------+