IsEven 類別
IsEven 轉換會在新資料欄中傳回布林值,指示來源資料欄或值是否為偶數。如果來源資料欄或值為小數,則結果為 false。
範例
from pyspark.context import SparkContext from pyspark.sql import SparkSession from awsgluedi.transforms import * sc = SparkContext() spark = SparkSession(sc) input_df = spark.createDataFrame( [(5,), (0,), (-1,), (2,), (None,)], ["source_column"], ) try: df_output = math_functions.IsEven.apply( data_frame=input_df, spark_context=sc, source_column="source_column", target_column="target_column", value=None, true_string="Even", false_string="Not even", ) df_output.show() except: print("Unexpected Error happened ") raise
輸出
輸出將是:
``` +------------+------------+ |source_column|target_column| +------------+------------+ | 5| Not even| | 0| Even| | -1| Not even| | 2| Even| | null| null| +------------+------------+ ```
IsEven 轉換會將 `source_column` 作為 "source_column",並將 `target_column` 作為 "target_column"。其會檢查 `"source_column"` 中的值是否為偶數。如果值為偶數,則會將 `"target_column"` 值設定為 `true_string` "Even"。如果值為奇數,則會將 `"target_column"` 值設定為 `false_string` "Not even"。如果 `"source_column"` 值為 `null`,`"target_column"` 值會設定為 `null`。
轉換會正確識別偶數 (0 和 2),並將 `"target_column"` 值設定為 "Even"。對於奇數 (5 和 -1),其會將 `"target_column"` 值設定為 "Not even"。對於 `"source_column"` 中的 `null` 值,`"target_column"` 值設定為 `null`。
方法
__call__(spark_context, data_frame, target_column, source_column=None, true_string=DEFAULT_TRUE_STRING, false_string=DEFAULT_FALSE_STRING, value=None)
IsEven 轉換會在新資料欄中傳回布林值,指示來源資料欄或值是否為偶數。如果來源資料欄或值為小數,則結果為 false。
-
source_column– 現有資料欄的名稱。 -
target_column– 要建立的新資料欄的名稱。 -
true_string– 指示值是否為偶數的字串。 -
false_string– 指示值是否為非偶數的字串。
apply(cls, *args, **kwargs)
繼承自 GlueTransform apply。
name(cls)
繼承自 GlueTransform name。
describeArgs(cls)
繼承自 GlueTransform describeArgs。
describeReturn(cls)
繼承自 GlueTransform describeReturn。
describeTransform(cls)
繼承自 GlueTransform describeTransform。
describeErrors(cls)
繼承自 GlueTransform describeErrors。
describe(cls)
繼承自 GlueTransform describe。