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

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.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.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|
+--------------+