AggregateMatch - AWS Glue

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AggregateMatch

Vérifie le ratio de deux agrégations de colonnes par rapport à une expression donnée. Ce type de règle fonctionne sur plusieurs jeux de données. Les deux agrégations de colonnes sont évaluées et un ratio est produit en divisant le résultat de la première agrégation de colonnes par le résultat de la seconde agrégation de colonnes. Le ratio est vérifié par rapport à l'expression fournie pour produire une réponse booléenne.

Syntaxe

Agrégation de colonnes

AggregateMatch <AGG_OPERATION> (<OPTIONAL_REFERENCE_ALIAS>.<COL_NAME>)
  • AGG_ OPERATION — L'opération à utiliser pour l'agrégation. À l'heure actuelle, sum et avg sont pris en charge.

    Types de colonnes pris en charge : octet, décimal, double, virgule flottante, entier, long, court

  • OPTIONAL_ REFERENCE _ ALIAS — Ce paramètre doit être fourni si la colonne provient d'un jeu de données de référence et non du jeu de données principal. Si vous utilisez cette règle dans le catalogue de données AWS Glue, votre alias de référence doit suivre le format « »<database_name>. <table_name>. <column_name>

    Types de colonnes pris en charge : octet, décimal, double, virgule flottante, entier, long, court

  • COL_ NAME — Le nom de la colonne à agréger.

    Types de colonnes pris en charge : octet, décimal, double, virgule flottante, entier, long, court

Exemple : moyenne

"avg(rating)"

Exemple : somme

"sum(amount)"

Exemple : moyenne de la colonne dans le jeu de données de référence

"avg(reference.rating)"

Règle

AggregateMatch <AGG_EXP_1> <AGG_EXP_2> <EXPRESSION>
  • AGG_ EXP _1 — La première agrégation de colonnes.

    Types de colonnes pris en charge : octet, décimal, double, virgule flottante, entier, long, court

    Types de colonnes pris en charge : octet, décimal, double, virgule flottante, entier, long, court

  • AGG_ EXP _2 — Agrégation de la deuxième colonne.

    Types de colonnes pris en charge : octet, décimal, double, virgule flottante, entier, long, court

    Types de colonnes pris en charge : octet, décimal, double, virgule flottante, entier, long, court

  • EXPRESSION— Expression à exécuter en fonction de la réponse du type de règle afin de produire une valeur booléenne. Pour de plus amples informations, veuillez consulter Expressions.

Exemple : correspondance agrégée à l'aide de la somme

L'exemple de règle suivant vérifie si la somme des valeurs de la colonne amount est exactement égale à la somme des valeurs de la colonne total_amount.

AggregateMatch "sum(amount)" "sum(total_amount)" = 1.0

Exemple : correspondance agrégée à l'aide de la moyenne

L'exemple de règle suivant vérifie si la moyenne des valeurs de la colonne ratings est égale à au moins 90 % de la moyenne des valeurs de la colonne ratings dans le jeu de données reference. Le jeu de données de référence est fourni en tant que source de données supplémentaire dans l'expérience ETL ou le catalogue de données.

Dans AWS GlueETL, vous pouvez utiliser :

AggregateMatch "avg(ratings)" "avg(reference.ratings)" >= 0.9

Dans le catalogue de données AWS Glue, vous pouvez utiliser :

AggregateMatch "avg(ratings)" "avg(database_name.tablename.ratings)" >= 0.9

Comportement nul

La AggregateMatch règle ignorera les lignes contenant des NULL valeurs dans le calcul des méthodes d'agrégation (somme/moyenne). Par exemple :

+---+-----------+ |id |units | +---+-----------+ |100|0 | |101|null | |102|20 | |103|null | |104|40 | +---+-----------+

La moyenne de la colonne units sera (0 + 20 + 40)/3 = 20. Les lignes 101 et 103 ne sont pas prises en compte dans ce calcul.