AWS Glue DataBrew 基本用語解説と入門チュートリアル実践まとめ

2020.11.17

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

「コードを書かずに”データ前処理”を作成・実行可能」な機能、という触れ込みでしたが、ドキュメントには一連の操作や機能を確認出来る「チュートリアル」も用意されています。

そこで当エントリでは、公式ドキュメントで紹介されているチュートリアルを実践していく上で必要となる用語の理解、及びチュートリアルの実践内容について紹介していきたいと思います。(※なお、チュートリアル本編を試してみたところ、画像キャプチャと情報量が半端無いボリュームになってしまったので、チュートリアル実践内容については章毎にエントリを分けて展開しています。ご了承ください)

目次

 

AWS Glue DataBrewの基本概念と用語

まずはじめに、AWS Glue DataBrewで用いられている主な概念・用語について幾つか言及。ドキュメントで解説されているものは以下の通り。

 

プロジェクト/Project

  • DataBrewがデータ準備のワークスペースとして用いる箱。これらの中にデータや変換、スケジュールされたプロセス等の関連項目が管理されます。
  • 作業の際に用いる「データセット」を指定し、DataBrewに実行させたい指示な手順を「レシピ」として作成・定義する事で、データパイプラインが生データを処理する準備が整います。

 

データセット/Dataset

  • 列やフィールドに分割されたデータ列やレコードのセット。DataBrewプロジェクト作成時に変換・準備したいデータに接続したりアップロードすることで連携。DataBrewでは、フォーマットされたファイルからインポートされた、あらゆるソースのデータを扱い、増え続けるデータストアのリストに直接接続することができます。
  • DataBrewのデータセットは"データへの読み取り専用接続"となります。データを参照するための記述的なメタデータのセットを収集します。なのでDataBrewによって実際のデータが変更されたり、保存されるということはありません。
  • データに対するジョブを実行する事で、「データプロファイル」に関するレポートを参照することも可能です。
  • データセットでは以下の情報を参照可能です。
    • [Dataset preview]タブ:データセットのソース、サイズ、関連するプロジェクトやジョブなど、データセットのすべての元データを見ることができます。このタブには、データの最初の数行も表示されます。
    • [Dataset profile overview]タブ:データ プロファイルを作成した後に、データの理解を深めるのに役立つデータ ビジュアライゼーションを表示します。
    • [Column statistics]タブ:データ・プロファイルを作成した後に、データに関する詳細な統計情報をグラフィックやチャートで表示します。
    • [Data lineage]タブ:データの"起源"(どこから得られて、どのような内容なのか)と、最近のイベントを調べることができます。

 

レシピ(Recipe)

  • DataBrewにアクションを実行させたいデータの命令、またはステップ。レシピには多くのステップを含めることができ、各ステップには多くのアクションを含めることが出来ます。
  • ツールバーにある変換ツールを使用して、データに対して行う全ての変更を設定します。レシピが出来たら、DataBrewに割り当ててスケジューリングします。
  • DataBrewはデータ変換に関する指示を保存しますが、実際のデータは保存しません。レシピをダウンロードして他のプロジェクトで使用することも可能です。また、レシピは複数バージョン公開することも可能です。
  • レシピに設定可能なステップの情報は画面からの操作で追加・設定を行います。利用可能な項目は下記ドキュメントをご参照ください。
  • DataBrewでは、データ準備の手順をレシピとして保存します。DataBrew レシピは、デフォルトでプロジェクトに接続されていますが、データなしでスタンドアロンのテンプレートとして公開したり、YAMLとしてダウンロードすることもできます。プロジェクトに関連付けられていない既存のレシピをプロジェクトに適用することも可能です。
  • レシピはプロジェクトから公開する複数の公開バージョンを持つことができます。また、複数のドラフトを経て進行すると、複数の作業コピーバージョンを持つことができます。

 

ジョブ(Job)

  • レシピ作成時に設定した命令を実行し、データを変換する作業を引き受ける要素。この命令を実行するプロセス。
  • ジョブは予め設定したスケジュールに従ってデータレシピを実行に移すことが出来ます。スケジュール実行及びオンデマンド実行のいずれも対応可能です。
  • データをプロファイリングしたい場合、レシピの作成は必要ありません。プロファイルジョブを設定してデータプロファイルを作成する事で対応可能です。

 

データリネージ(Data lineage)

  • "データの出どころ"を特定するための情報追跡。DataBrewでは視覚的なインタフェースデータを介してこの情報追跡を確認することが出来ます。
  • ビューでは、データが元々どこから来たのか、様々なエンティティを通ってどのように流れていくのか、を見ることが出来ます。データの起源、データが影響を受けている他のエンティティ、時間の経過と共に何が起こっているのか、どこに保存されていたのかを見ることが出来ます。

 

製品及びサービス統合

DataBrewはネットワーク・管理・ガバナンスのために、以下AWSサービスと連携しています。

  • Amazon CloudFront
  • AWS CloudFormation
  • AWS CloudTrail
  • Amazon CloudWatch

DataBrewは以下のAWSデータレイク・データストアで動作します。

  • AWS Lake Formation
  • Amazon S3

DataBrewは以下のAWSデータカタログで動作します。

  • AWS Data Exchange
  • AWS Glueデータカタログ、Amazon RDS、Amazon Redshift(データのみ)

DataBrewはアップロードのために以下のファイル形式で動作します。また、DataBrewは、下記リストに記載されているいずれかの形式で、出力ファイルをAmazon S3(のみ)に送信します。(※JSONを除く)

  • AWS Glue Parquet形式 (glueparquet).
  • CSVフォーマット (.csv).
  • JSON(ネストされたJSON、JSONL形式の両方をサポート) ※JSONは出力にはサポートされていません
  • Apache Avro (avro).
  • Apache Parquet形式 (parquet) 及びネストされたParquet.
  • Apache ORC形式 (orc).
  • XML形式

 

AWS Glue DataBrew 入門チュートリアル実践

AWS Glue DataBrewの入門チュートリアル実践内容はそれぞれ章毎にエントリを分ける形で投稿しています。上から順番にお読み頂くことで、AWS Glue DataBrewがどのような機能を備えていて、どういう挙動をするものなのかがざっくり把握頂けるかと思います。

 

Step 1: 事前準備とプロジェクトの作成

 

Step 2: "レシピ" を定義してデータを集約・加工する

 

Step 3: 変換処理の追加と"レシピ"のバージョン管理

 

Step 4: 作成されたDataBrewリソースを確認する

 

Step 5: データプロファイルの作成と内容の確認

 

Step 6: データセットの変換処理実行

 

まとめ

以上、AWS Glue DataBrew 基本用語解説と入門チュートリアル実践のまとめでした。

チュートリアルについては全6本構成のエントリとなってしまいましたが、一通りの手順をご覧頂く事でAWS Glue DataBrewのイメージを掴んでもらえたのではないでしょうか。

AWS Glue DataBrewで出来ることはまだまだ他にも沢山あります。今後時間を見つけて、試していない機能やテーマについても実践していきたいと思います。