A transformação FlagDuplicateRows
retorna uma nova coluna com um valor especificado em cada linha que indica se essa linha corresponde exatamente a uma linha anterior no conjunto de dados. Quando as correspondências são encontradas, elas são marcadas como duplicatas. A ocorrência inicial não é marcada porque não corresponde a uma linha anterior.
Exemplo
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
Saída
A saída será um PySpark DataFrame com uma coluna flag_row
adicional que indica se uma linha é duplicada ou não, com base na coluna source_column_1
. O DataFrame “df_output” resultante conterá as seguintes linhas:
```
+---------------+---------------+--------+
|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|
+---------------+---------------+--------+
```
A coluna flag_row
indica se uma linha é duplicada ou não. A "true_string" é definida como "True" e a "false_string" é definida como "False". O "target_index" é definido como 1, o que significa que a coluna flag_row
será inserida na segunda posição (índice 1) no DataFrame de saída.
Métodos
__call__(spark_context, data_frame, target_column, true_string=DEFAULT_TRUE_STRING, false_string=DEFAULT_FALSE_STRING, target_index=None)
A transformação FlagDuplicateRows
retorna uma nova coluna com um valor especificado em cada linha que indica se essa linha corresponde exatamente a uma linha anterior no conjunto de dados. Quando as correspondências são encontradas, elas são marcadas como duplicatas. A ocorrência inicial não é marcada porque não corresponde a uma linha anterior.
-
true_string
: valor a ser inserido se a linha corresponder a uma linha anterior. -
false_string
: valor a ser inserido se a linha for exclusiva. -
target_column
: nome da nova coluna inserida no conjunto de dados.
apply(cls, *args, **kwargs)
Herdado de GlueTransform
apply.
name(cls)
Herdado de GlueTransform
name.
describeArgs(cls)
Herdado de GlueTransform
describeArgs.
describeReturn(cls)
Herdado de GlueTransform
describeReturn.
describeTransform(cls)
Herdado de GlueTransform
describeTransform.
describeErrors(cls)
Herdado de GlueTransform
describeErrors.
describe(cls)
Herdado de GlueTransform
describe.