AWS Glue DataBrew を使ってみた

2021.07.20

こんにちは、yagiです。

本日は、Glue DataBrew を使用してサンプルデータセットを変換し、S3へ書き込むまでのチュートリアルを実行してみたので記載します。

Getting started with AWS Glue DataBrew

準備作業

IAMロールの作成

チュートリアルを参考にIAMポリシー、IAMロールの作成を行います。

やってみる

プロジェクトを作成する

プロジェクトを作成します。データセットはサンプルデータセットから、「chess-games」を選択します。 先ほどの工程で作成したIAMロールを指定して、「Create project」を押下します。

データを集計する

「Filter」 → 「By Condition」 → 「Greater than or equal to」 を選択します。

コンソール右側のペインで 「Source column」 と 「Filter condition」 をそれぞれプルダウンから選択、値の指定をします。

「Preview changes」 を押下して、フィルターしたデータが視覚的に確認できます。

確認して、「Apply」 を押下します。

「black_rating」でも同様の手順を繰り返します。

「Group」 機能でデータをグルーピングして集計します。

「Publish」 を押下します。

「Version Description」 に説明を入力して、「Publish」 を押下します。

データを変換する

draw(引き分け)のデータをフィルタして除外します。

「Filter」 → 「By Condition」 → 「Is not」 を選択して、先の手順と同じように条件を指定していきます。 プレビューして指定した列 (draw) が除外されていることを確認し、「Apply」 を押下します。

次に「victory_status」 を 「checkmate」 に置き換えます。

「Clean」 → 「Replace」 → 「Replace value or pattern」 を選択して、先の手順と同じように条件を指定し、プレビュー後に 「Apply」 を押下します。

プレビューして値が書き換えられていることを確認して、「Apply」 を押下します。

同様の手順で他の2つの値( 「resign」 及び、「outoftime」 )も書き換えます。

「Publish」 を押下します。

作成したDataBrewリソースを確認する

左端のナビゲーションペインから、「Dataset」 を選択すると、AmazonS3に保存されたソースデータファイルを確認できます。(chess-games.xlsx)

次に、「Project」 を選択すると、作成したプロジェクトが確認できます。

「Recipes」 を選択して、作成したレシピをバージョンごとに、詳細を確認することができます。

「Data lineage」 (データ系列)タブから、レシピのフローを視覚的に確認することができます。「Dataset」 や 「Project」 を押下すると、それぞれ概要が表示され確認でき、非常に便利かと思います。

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

手順に従って、プロファイルジョブを作成して実行します。

左ペインのジョブを選択し、「Profile jobs」 の 「Create job」 を押下します。

対象のデータセット、出力先を入力し、ロールを指定します。

「Create and run job」 を押下してジョブを実行します。

ジョブ実行後、「Datasets」 から、

  • Dataset preview
  • Data profile overview
  • Column statistics
  • Data lineage

をそれぞれ確認します。

データの概要、分析結果が、視覚化されわかるようになっています。最初のデータの変換の際もそうですが、ビジュアル面でわかりやすい表示となっています。

データセットを変換

次に、DataBrewレシピジョブを作成してデータセット全体を変換します。再度、左ペインの 「Recipes」 から今後は 「Recipe jobs」 を選択し、 「Create job」 を押下します。

前の手順と同じようにジョブの内容を入力していきます。

「Job input」 で 「Recipe version」 を指定する箇所で最新のバージョン(ここでは 2.0 )となっていることを確認します。「Create and run job」 を押下します。

ジョブの成功を確認したら、出力先のS3バケットを確認します。以下の通りCSVファイルが出力されています。

一つだけ内容を確認すると、以下のようになっています。

winner,victory_status,winner_count
black,checkmate,258

結論

Glue DataBrew を使用してサンプルデータセットを変換し、S3へ書き込むまでのチュートリアルを実行してみました。データの変換作業や確認が視覚化され、目で確認しながら作業できるのでとても使い勝手が良いと思いました。

参考

What is AWS Glue DataBrew?