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。