共用方式為


assert_true

若輸入欄位為 true則回傳null;否則會拋出包含錯誤訊息的例外。

語法

from pyspark.sql import functions as sf

sf.assert_true(col, errMsg=None)

參數

參數 類型 Description
col pyspark.sql.Column 或 str 欄位名稱或代表要測試的輸入欄位。
errMsg pyspark.sql.Column 或是力量,選用 一個包含錯誤訊息的 Python 字串字串或欄位。

退貨

pyspark.sql.Columnnull 若輸入欄位為 , true 則會拋出錯誤,並指定訊息。

範例

範例 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|
+---+---+---------------------------+