若輸入欄位為 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.Column: null 若輸入欄位為 , 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|
+---+---+---------------------------+