通过


assert_true

返回 null 输入列是否为 true;否则将引发带有提供的错误消息的异常。

Syntax

from pyspark.sql import functions as sf

sf.assert_true(col, errMsg=None)

参数

参数 类型 Description
col pyspark.sql.Column 或 str 表示要测试的输入列的列名或列。
errMsg pyspark.sql.Column 或 str,可选 包含错误消息的 Python 字符串文本或列。

退货

:如果输入列引发具有指定消息的错误,则为 < a0/>。

例子

示例 1:断言真实条件

from pyspark.sql import functions as sf
df = spark.createDataFrame([(0, 1)], ['a', 'b'])
df.select('*', sf.assert_true(df.a < df.b)).show()
+---+---+--------------------------------------------+
|  a|  b|assert_true((a < b), '(a < b)' is not true!)|
+---+---+--------------------------------------------+
|  0|  1|                                        NULL|
+---+---+--------------------------------------------+

示例 2:带有列错误消息的断言

from pyspark.sql import functions as sf
df = spark.createDataFrame([(0, 1)], ['a', 'b'])
df.select('*', sf.assert_true(df.a < df.b, df.a)).show()
+---+---+-----------------------+
|  a|  b|assert_true((a < b), a)|
+---+---+-----------------------+
|  0|  1|                   NULL|
+---+---+-----------------------+

示例 3:断言并显示自定义错误消息

from pyspark.sql import functions as sf
df = spark.createDataFrame([(0, 1)], ['a', 'b'])
df.select('*', sf.assert_true(df.a < df.b, 'error')).show()
+---+---+---------------------------+
|  a|  b|assert_true((a < b), error)|
+---+---+---------------------------+
|  0|  1|                       NULL|
+---+---+---------------------------+