FlagDuplicateRows 类
FlagDuplicateRows 转换会返回一个新列,其中每行都有指定值,指示该行是否与数据集中的前面的行完全匹配。找到匹配项后,它们会被标记为重复项。第一次出现不会被标记,因为它与前面的行不匹配。
示例
from pyspark.context import SparkContext from pyspark.sql import SparkSession from awsgluedi.transforms import * sc = SparkContext() spark = SparkSession(sc) input_df = spark.createDataFrame( [ (105.111, 13.12), (13.12, 13.12), (None, 13.12), (13.12, 13.12), (None, 13.12), ], ["source_column_1", "source_column_2"], ) try: df_output = data_quality.FlagDuplicateRows.apply( data_frame=input_df, spark_context=sc, target_column="flag_row", true_string="True", false_string="False", target_index=1 ) except: print("Unexpected Error happened ") raise
输出
输出是 PySpark DataFrame 以及一个附加列 flag_row,其根据 source_column_1 列指示某行是否重复。生成的“df_output”DataFrame 将包含以下行:
``` +---------------+---------------+--------+ |source_column_1|source_column_2|flag_row| +---------------+---------------+--------+ | 105.111| 13.12| False| | 13.12| 13.12| True| | null| 13.12| True| | 13.12| 13.12| True| | null| 13.12| True| +---------------+---------------+--------+ ```
flag_row 列指示某行是否重复。“true_string”设置为“True”,“false_string”设置为“False”。“target_index”设置为 1,这表示 flag_row 列将被插入到输出 DataFrame 的第二个位置(指数 1)。
方法
__call__(spark_context, data_frame, target_column, true_string=DEFAULT_TRUE_STRING, false_string=DEFAULT_FALSE_STRING, target_index=None)
FlagDuplicateRows 转换会返回一个新列,其中每行都有指定值,指示该行是否与数据集中的前面的行完全匹配。找到匹配项后,它们会被标记为重复项。第一次出现不会被标记,因为它与前面的行不匹配。
-
true_string– 如果该行与前面的行匹配,则插入该值。 -
false_string– 如果行是唯一的,则插入该值。 -
target_column– 插入到数据集中的新列的名称。
apply(cls, *args, **kwargs)
继承自 GlueTransform apply。
name(cls)
继承自 GlueTransform 名称。
describeArgs(cls)
继承自 GlueTransform describeArgs。
describeReturn(cls)
继承自 GlueTransform describeReturn。
describeTransform(cls)
继承自 GlueTransform describeTransform。
describeErrors(cls)
继承自 GlueTransform describeErrors。
describe(cls)
继承自 GlueTransform describe。