AWS Glue DataBrew入門チュートリアル実践 #5 – データプロファイルの作成と内容の確認

2020.11.17

先日新しくリリースされたAWS Glueの新機能「AWS Glue DataBrew」。

前述手順では、実践したAWS Glue DataBrewチュートリアルで作成された各種リソース情報について、その内容を確認しました。

当エントリでは、次の手順となる手順その5「データプロファイルの作成と内容の確認」についてその内容を紹介していきます。

目次

 

当エントリでの実践手順

このステップでは、データの包括的なプロファイル情報を作成する手順について実践します。プロジェクトで作業するとき、DataBrewは、サンプルの行数や各列の一意の値の分布などの統計情報を表示します。これらの統計やその他多くの統計は、サンプルのプロファイルを表しています。

初期設定では、プロファイルはデータセットの最初の20,000行を表示する形となっています(条件は変更可能)。

 

データプロファイルの作成

データプロファイルの作成を行うには、ダッシュボードメニューの[JOBS]→[Profile jobs]タブ→[Create job]を選択。

データプロファイルジョブを作成するための各種設定を行います。任意のジョブ名(chess-data-profile)を入力、ジョブのタイプ(Job type)は[Create a profile job]を選択。

ジョブの入力には、今回のチュートリアルで使用しているデータセットを指定します。

ジョブ出力設定では、今回のチュートリアル用に、前もってバケット配下に作成しておいたdatabrew-outputというフォルダを参照(Browse)ボタン押下で指定します。

Permission(権限設定)ではこちらも当チュートリアル用に作成したIAM Roleを指定。

その他設定についてはそのまま(未設定)で[Create and run job]を押下。

実行が完了するまで暫し待機。正常に終了すると以下のような形でジョブ実行履歴に情報が表示されます。[Output]リンクで遷移可能です。

 

データプロファイル情報の確認

リンク押下でデータセットの詳細画面に遷移します。この画面では対象データに関する様々なプロファイル情報を参照することが可能となっています。

データセット概要:

データプロファイルの概要:

列毎の統計情報:

データリネージ:

 

データプロファイル情報のダウンロード

作成されたデータプロファイル情報については、内容をJSONファイル形式でダウンロードすることが可能です。ジョブ実行結果から遷移したAmazon S3バケット・フォルダ配下にJSONファイルが作成されています。

ファイルの中身は以下のような構成になっています。かなりファイル行数が多かったので端折って内容を表示した形となっています。

{
  "columns": [
    {
      "name": "id",
      "type": "string",
      "uniqueValuesCount": 19070,
      "missingValuesCount": 0,
      "mostCommonValues": [
        {
          "value": "XRuQPSzH",
          "count": 5
        },
        {
          "value": "UvqLtnPM",
          "count": 4
        },
:
:        
        {
          "value": "JfT9yIBl",
          "count": 3
        }
      ],
      "max": 8,
      "min": 8,
      "mean": 8.0,
      "median": 8,
      "mode": 8,
      "standardDeviation": 0.0
    },
    {
      "name": "rated",
      "type": "boolean",
      "uniqueValuesCount": 2,
      "missingValuesCount": 0,
      "mostCommonValues": [
        {
          "value": true,
          "count": 16099
        },
        {
          "value": false,
          "count": 3901
        }
      ]
    },
    {
      "name": "created_at",
      "type": "bigint",
      "uniqueValuesCount": 13109,
      "missingValuesCount": 0,
      "mostCommonValues": [
        {
          "value": 1504210000000,
          "count": 45
        },
        {
          "value": 1504140000000,
          "count": 39
        },
:
:
          "value": 74,
          "count": 173
        }
      ],
      "zerosCount": 0,
      "percentile5": 14,
      "percentile25": 37,
      "percentile75": 79,
      "percentile95": 124,
      "max": 349,
      "min": 1,
      "sum": 1209303,
      "mean": 60.46515,
      "median": 55,
      "mode": 53,
      "kurtosis": 1.386892284651572,
      "skewness": 0.8980501824715352,
      "range": 348,
      "standardDeviation": 33.584533367631835,
      "variance": 1127.9208815215757,
      "interquartileRange": 42,
      "minimumValues": [
        {
          "value": 1,
          "count": 18
        },
:
:
        {
          "value": 19,
          "count": 11
        }
      ],
      "correlations": {
        "created_at": 0.09987007122747535,
        "last_move_at": 0.09987177359323676,
        "turns": 0.05617786933727138,
        "white_rating": 0.2760734585640117,
        "black_rating": 0.25396351694936775,
        "opening_ply": 1.0
      }
    }
  ],
  "duplicateRowsCount": 5,
  "sampleSize": 20000,
  "jobName": "chess-data-profile",
  "jobRunId": "jr_7bd0db2a23d7a482xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "location": "s3://cm-shinyaa31-glue-databrew-virginia/databrew-output/chess-games_2020-11-15_13-14-07_2b736ce6-127e-44f5-8481-3a18859xxxxxx.json",
  "startedOn": "2020-11-15T13:14:33.264197",
  "writtenOn": "2020-11-15T13:15:54.253205",
  "version": "1.0"
}

 

まとめ

というわけで、AWS Glue DataBrew実践チュートリアルのステップ5「データプロファイルの作成と内容の確認」の紹介でした。

引き続き、次のステップ「6.データセットの変換処理実行」を御覧ください。