AggregateMatch - AWS Glue

AggregateMatch

特定の式を参照して、2 つの列の集計の比率をチェックします。このルールタイプは、複数のデータセットで機能します。2 つの列の集計が評価され、1 番目の列の集計結果を 2 番目の列の集計結果で割ることで比率が算出されます。比率と指定された式が照合され、ブール型応答が生成されます。

構文

列の集計

AggregateMatch <AGG_OPERATION> (<OPTIONAL_REFERENCE_ALIAS>.<COL_NAME>)
  • AGG_OPERATION – 集計に使用する操作。現在サポートされている形式は、sumavg です。

    列でサポートされている型: Byte (バイト)、Decimal (十進数)、Double (倍精度浮動小数点数)、Float (浮動小数点数)、Integer (整数)、Long (整数)、Short (整数)

  • OPTIONAL_REFERENCE_ALIAS – 列がプライマリデータセットではなく参照データセットのものである場合は、このパラメータを指定する必要があります。このルールを AWS Glue データカタログで使用している場合は、参照エイリアスは "<database_name>.<table_name>.<column_name> の形式に従います。

    列でサポートされている型: Byte (バイト)、Decimal (十進数)、Double (倍精度浮動小数点数)、Float (浮動小数点数)、Integer (整数)、Long (整数)、Short (整数)

  • COL_NAME — 集計する列の名前。

    列でサポートされている型: Byte (バイト)、Decimal (十進数)、Double (倍精度浮動小数点数)、Float (浮動小数点数)、Integer (整数)、Long (整数)、Short (整数)

例: 平均

"avg(rating)"

例: 合計

"sum(amount)"

例: 参照データセットの列の平均

"avg(reference.rating)"

ルール

AggregateMatch <AGG_EXP_1> <AGG_EXP_2> <EXPRESSION>
  • AGG_EXP_1 – 最初の列の集計。

    列でサポートされている型: Byte (バイト)、Decimal (十進数)、Double (倍精度浮動小数点数)、Float (浮動小数点数)、Integer (整数)、Long (整数)、Short (整数)

    列でサポートされている型: Byte (バイト)、Decimal (十進数)、Double (倍精度浮動小数点数)、Float (浮動小数点数)、Integer (整数)、Long (整数)、Short (整数)

  • AGG_EXP_2 – 2 番目の列の集計。

    列でサポートされている型: Byte (バイト)、Decimal (十進数)、Double (倍精度浮動小数点数)、Float (浮動小数点数)、Integer (整数)、Long (整数)、Short (整数)

    列でサポートされている型: Byte (バイト)、Decimal (十進数)、Double (倍精度浮動小数点数)、Float (浮動小数点数)、Integer (整数)、Long (整数)、Short (整数)

  • EXPRESSION – ルールタイプの応答に対して実行し、論地値を生成するための式。詳細については、「表現」を参照してください。

例: 合計を使用した Aggregate Match

次のルール例では、amount 列の値の合計が、total_amount 列の値の合計と完全に等しいかをチェックします。

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

例: 平均を使用した Aggregate Match

次のルール例では、ratings 列の値の平均が、reference データセットの ratings 列における値の平均の、90% 以上と等しいかをチェックします。参照データセットは、ETL またはデータカタログ体験の、追加のデータソースとして提供されます。

AWS Glue ETL では、以下を使用できます。

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

AWS Glue データカタログでは、以下を使用できます。

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

Null 動作

AggregateMatch ルールは、集計方法 (合計/平均) の計算で NULL 値の行を無視します。例:

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

units 列の平均は (0 + 20 + 40) / 3 = 20 になります。行 101 および 103 はこの計算の対象になりません。