AWS Glue DataBrew入門チュートリアル実践 #2 – “レシピ” を定義してデータを集約・加工する

2020.11.17

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

前述手順では、AWS Glue DataBrewのチュートリアルを実践するにあたって必要なリソース(Amazon S3)の事前準備と「プロジェクト」の作成までを行いました。

当エントリでは、次の手順となる手順その2「"レシピ" を定義してデータを集約・加工する」についてその内容を紹介していきます。

目次

 

当エントリでの実践手順

このステップでは、DataBrewの「レシピ」と呼ばれるものを作成します。「レシピ」とは、データセットに適用することが出来る"変換処理のセット"です。レシピを作成し、公開して使用出来るようにする手順を実践します。

前述エントリで対象としたデータセットは「チェスのゲームの対戦成績」です。このデータに対して『両プレイヤーのレーティングが1800以上である=両プレイヤーが共にA級ランクであったゲーム』に焦点を当てる形でデータをまとめていきます。

 

絞り込み条件(FILTER)の追加

まずはデータの絞り込み設定を作成していきます。対象のプロジェクトにて、[FILTER]→[By Condition]→[Greater then or equal to]を選択。

絞り込み条件として以下の値を設定します。設定後「Preview shown」をクリックすると、条件対象外となったデータ列が以下の様にカラーリングされて、目視で「対象外データが除外されている」ことを確認出来ます。[Apply]押下。

  • Source Column(対象項目):white_rating
  • Filter Condition(フィルタ条件):Greater than or equal to, 1800

同じ手順で以下のフィルタも追加していきます。これで、任意のレーティング(1800以上)を満たす各プレイヤー(white or black)が絞り込まれる形となりました。

  • Source Column(対象項目):black_rating
  • Filter Condition(フィルタ条件):Greater than or equal to, 1800

2つの絞り込み条件を保存・適用した後の画面。以下のように作成した順番で条件を確認することが出来ます。

 

グルーピング(GROUP BY)の追加

次いで、絞り込んだデータを更にグルーピング(GROUP BY)する処理を追加していきます。画面上部のツールバーにある[GROUP]を押下。

すると以下のような形で項目指定画面が表示されます。ここではカテゴリ毎の件数が欲しいので、以下のような順番・内容で値を設定し、[Finish]を押下。

  • Column name(項目):winner を Aggregate(集計方法):Group by
  • Column name(項目):vicroty_status を Aggregate(集計方法):Group by
  • Column name(項目):winner を Aggregate(集計方法):Count
  • Group type(集約タイプ):Group as new table(replaces all existing columns with new columns)

 

レシピの公開(パブリッシュ)

3つめの処理としてグルーピング(GROUP BY)が追加され、データの内容が以下のように置き換わりました。

このステップでの締めの作業として、3つの手順をレシピとして保存します。[Publish]を押下。

レシピの保存設定画面が表示されます。[Version description]に任意の文字列を入力し、[Publish]を押下。

レシピが保存されました。

AWS管理コンソール、ダッシュボードメニューの[RECIPES]を選択すると、以下のような形で作成したレシピの一覧を確認することが出来ます。

 

利用可能なレシピの一覧

当エントリで実践した手順は「絞り込み」と「グルーピング」の2つだけでしたが、画面をご覧頂いてお分かりのように、レシピ=やりたいことを実現するための処理パーツ群の種類は実に多彩なものが用意されています。画面ではメニューを選択して処理を組み立てる形となっていますが、内部では下記リファレンスに展開されている関数群を用いてその処理を組立てている形ですね。

選択・利用可能な「レシピのアクション」は大きく以下の種類に分類されます。この辺りの操作手順実践については改めて色々試してみたいですね。

  • 基本的なカラム操作
  • データクリーニング
  • データ品質
  • カラム構造
  • 関数
  • データ構造とデータサイエンス

 

まとめ

というわけで、AWS Glue DataBrew実践チュートリアルのステップ2「"レシピ" を定義してデータを集約・加工する」の紹介でした。

絞り込み・グルーピングというデータ加工の手順を「レシピ」として定義する手順を試した形となりましたが、ご覧頂けましたように簡単な画面操作でやりたい条件を満たすことが出来ました。この手軽さは嬉しいところですね。

引き続き、次のステップ「3.変換処理の追加と"レシピ"のバージョン管理」を御覧ください。