Pular para o conteúdo principal

tente_mod

Retorna o resto da divisão de dividendpordivisor. Seu resultado é sempre nulo se divisor for 0. Compatível com Spark Connect.

Para a função Databricks SQL correspondente, consulte a funçãotry_mod.

Sintaxe

Python
from pyspark.databricks.sql import functions as dbf

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

Parâmetros

Parâmetro

Tipo

Descrição

left

pyspark.sql.Column or column name

dividendo

right

pyspark.sql.Column or column name

divisor

Exemplos

Python
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()
Output
+----+---+-------------+
| a| b|try_mod(a, b)|
+----+---+-------------+
|6000| 15| 0|
| 3| 2| 1|
|1234| 0| NULL|
+----+---+-------------+

Python
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)
Output
+--------------+
|try_mod(id, 0)|
+--------------+
| NULL|
+--------------+