View a markdown version of this page

ディストリビューション - AWS Glue

ディストリビューション

Distribution Analyzer を使用して、列の値の頻度分布を計算します。アナライザーは、列のデータ型に応じて異なる出力を生成します。

  • 数値列 – ビン化されたヒストグラムを生成します。ヒストグラムでは、列の値範囲を等幅間隔 (ビン) に分割し、各ビンの値の数をカウントします。

  • 文字列、日付、その他の数値以外の列 – 各個別の値の頻度を、頻度の降順にソートした値分布を生成します。アナライザーは、最も頻度の高い上位 20 個の値のみを返します。

注記

Distribution Analyzer は、DQDL ルールセットの Analyzers ブロックでのみ使用できます。ルールとして使用することはできません。

構文

Distribution <COL_NAME> Distribution <COL_NAME> with bins = <BIN_COUNT> Distribution <COL_NAME> with bins = <BIN_COUNT>, rebin = <true|false>
  • COL_NAME – 分析する列の名前、またはデータセット内のすべての列の分布を計算するための AllColumns

    列でサポートされている型: 任意の型

  • bins (オプション) - 数値列ヒストグラムに使用するビン (間隔) の数。デフォルト値は 20 です。最大値は 20 です。このパラメータは、数値以外の列には影響しません。

  • rebin (オプション) - 自動再ビン動作を制御します。オーバーフローが連続実行でしきい値を超えると、アナライザーは自動的に再ビンされます。デフォルト値は true です。オーバーフロー頻度に関係なく、ビンエッジを無期限にフリーズさせるには、false に設定します。詳細については、「自動再ビニング」を参照してください。

例 – 1 つの列の基本分布

次の例では、デフォルトの 20 個のビンを使用して Salary 列の頻度分布を計算します。

Analyzers = [ Distribution "Salary" ]

例 – カスタムビン数

次の例では、10 個のビンを使用して Age 列のヒストグラムを計算します。

Analyzers = [ Distribution "Age" with bins = 10 ]

例 – すべての列の分布

次の例では、データセット内のすべての列の分布を計算します。数値列は 20 個のビンを持つヒストグラムを生成し、数値以外の列は値分布を生成します。

Analyzers = [ Distribution AllColumns ]

例 – ルールやその他のアナライザーとの組み合わせ

次の例は、ルール、標準アナライザー、Distribution Analyzer を組み合わせたルールセットを示しています。

Rules = [ RowCount > 100, Completeness "Salary" > 0.9 ] Analyzers = [ Mean "Salary", StandardDeviation "Salary", Distribution "Salary" with bins = 15, Distribution "Department" ]

出力形式:

Distribution Analyzer を実行すると、Distribution という名前の統計が生成されます。スカラー統計 (MeanSum など) は 1 つの数値を返します。これとは対照的に、Distribution 統計は構造化された結果を返します。

  • BinEdges – ビンの境界 (数値列の場合) または個別の値 (数値以外の列の場合) を定義する配列。

  • Count – 各ビンまたは値の頻度の配列。

分布の結果は、ListDataQualityStatistics API または GetDataQualityResult API を使用して取得できます。Data Quality API の詳細については、「AWS Glue API リファレンス」の「Data Quality API」を参照してください。

Null 動作

アナライザーは、ターゲット列に NULL 値を持つ行をビン計算から除外します。

固定されたビンエッジ、オーバーフロー観測値、自動再ビニングの詳細については、「Distribution Analyzer」を参照してください。