ONETECH ASIA
ONETECH ASIA
今すぐ相談する
ContactinsightScanX
Web開発

AWS Glue - 効率的なデータ分析のための鍵

Phước Duy

14/12/2023

AWS GLUE の紹介

AWS GLUE は、データの抽出 (Extract)、変換 (Transform)、およびロード (Load) を自動化するために開発されたサーバーレス ツールです。このプロセスは ETL と呼ばれます。AWS GLUE は、企業がデータソースからデータを抽出し、データを変換し、それをデータウェアハウスにロードすることを可能にします。すべてがクラウド上で実行されます。AWS GLUE は、Amazon が完全に管理するサービスでもあります。つまり、ユーザーは管理や保守を行う必要がありません。

なぜ AWS GLUE は強力なのか?

AWS GLUE は強力である理由は、Apache Spark のスピードとパフォーマンスと、Hive のデータ整理を組み合わせているためです。Lambda という、AWS のもう 1 つの完全に管理されたサービスについて聞いたことがあるかもしれません。Lambda の待機時間が 15 分であるのに対し、AWS GLUE の待機時間はデフォルトで 2 日です。Lambda を使用していくつかのプロジェクトで実行時間が長すぎる場合、問題に応じて AWS GLUE を選択できます。

AWS GLUE は、データ分析の時間を短縮することで、データの統合をより迅速に行うことができます。また、データの準備タスクを自動化することで、データソースをスキャンし、データ形式を識別し、データの保存に適したスキーマを提供します。AWS GLUE はサーバーレスで実行されるため、管理、プロビジョニング、構成、またはリソースのスケーリングを行う必要はありません。実行中に使用されるリソースに対してのみ料金が発生します。

AWS Glue - 効率的なデータ分析のための鍵
S3 バケットには分析が必要な CSV 収益データが含まれています

ストリームプロセッサの説明:

  1. S3 は、テーブル データが CSV ファイル (Oracle データ) の形式で保存される場所です。
  2. AWS Glue は CSV ファイルをクロールしてテーブルデータを一時的に作成します
  3. 一時テーブルのデータから更新更新を Aurora Mysql に変換します

準備:

AWS Glueを使用する前に実行する必要があるいくつかの手順

1. AWSアカウントの設定

  • このガイドを実行するためには、AWSアカウントが必要です。アカウントを作成するには、こちらをクリックしてください。

2. AWS Glue用のIAMロールの作成

  • AWSコンソールにサインイン > IAM > ロールを選択してロールを作成します。ここで、このロールを使用するサービスとしてGlueを選択します。次に、AWSGlueServiceRoleとS3FullAccessポリシーを選択し、ロールを作成します。
AWS Glue - 効率的なデータ分析のための鍵
Glue 実行のためのIAMロール

3. "S3バケット với 2フォルダ

data-source-input-demo/ > CSVの入力を含むフォルダ

data-source-output-demo/ > GlueからのCSVの出力を含むフォルダ"

AWS Glue - 効率的なデータ分析のための鍵
AWS S3 グループ

data-source-input-demo/ の中に

Auroraへの入力プロセスを処理するためのテーブルを準備します

資料グループ

AWS Glue - 効率的なデータ分析のための鍵
CSVテーブル

4. Glueデータカタログの作成方法

AWS Glueコンソール画面に移動 -> データベース -> データベースの追加

Data-source-input-demo

AWS Glue - 効率的なデータ分析のための鍵

5. S3上のCSVファイルを使用してテーブルを作成する

AWSコンソールのGlue > テーブル > クローラーを使用してテーブルを追加:

AWS Glue - 効率的なデータ分析のための鍵
AWS Glue - 効率的なデータ分析のための鍵
次へ選択
AWS Glue - 効率的なデータ分析のための鍵
名前を入力して次へをクリック
AWS Glue - 効率的なデータ分析のための鍵
AWS Glue - 効率的なデータ分析のための鍵
CSVファイルがあるS3フォルダのパスを選択
S3データソースを追加
AWS Glue - 効率的なデータ分析のための鍵
次へをクリック
AWS Glue - 効率的なデータ分析のための鍵
Glue権限を持つIAMロールを選択
次へ選択
AWS Glue - 効率的なデータ分析のための鍵
データカタログで作成したターゲットデータを選択
クローラースケジュールをオンデマンドに設定
次へを選択
AWS Glue - 効率的なデータ分析のための鍵
再確認してクローラーを作成をクリック
AWS Glue - 効率的なデータ分析のための鍵
クローラを選択して実行をクリック

成功したら、以下のようなテーブルが作成されます:

AWS Glue - 効率的なデータ分析のための鍵
成功したら次のようなテーブルが作成されます。3つのテーブルでクエリを実行するには、データを表示 > テーブルデータをクリック -> クエリにはAWS Athenaを使用します
AWS Glue - 効率的なデータ分析のための鍵
materialgroupactualテーブルの行数を選択

6. データカタログからParquetファイルへのデータ変換用のJobを作成する

Parquetはデータストレージの一般的なフォーマットであり、特にビッグデータ分析の領域でよく使われます。

Parquetの特徴:

  • CSVやJSONのような行ではなく列ごとにデータを格納するため、ランダムアクセスが効率的です。
  • 高い圧縮率のアルゴリズムを使用し、通常のテキスト形式のファイルよりもサイズを1/3に減らします。
  • 並行読み書きに最適化されており、分散システム上でのビッグデータ処理に適しています。
  • Hadoopエコシステム(HDFS、Hive、Spark)との互換性が高いです。
  • Python、R、Javaなどの一般的なプログラミング言語にはParquetの読み書きをサポートするライブラリがあります。

これらの利点から、Parquetは徐々にCSVやJSONなどの古いフォーマットを置き換える傾向にあります。

ジョブを作成する手順:

AWS Glueのコンソールにアクセス > ETL Jobs > Visual ETL > AWS Glue Studio

AWS Glue - 効率的なデータ分析のための鍵
AWS Glue スタジオ

出典: Aws Glue データカタログ

AWS Glue - 効率的なデータ分析のための鍵
Parquet ファイルにエクスポートするテーブルを選択してください

変換: スキーマを変更します。目的は列名を修正し、不要な列をエクスポートしないことです。
AWS Glue スタジオ

AWS Glue - 効率的なデータ分析のための鍵
AWS Glue - 効率的なデータ分析のための鍵
列名 matkl:material_id、wgbez:material_name を変更します。
他の列が使用されていない場合は削除します

ターゲット: Amazon S3、ジョブデータが処理された後、寄木細工ファイルは S3/data-source-output-demo/ に保存されます。

AWS Glue - 効率的なデータ分析のための鍵
ジョブは、データを CSV から Parquet ファイルに変換します

「実行」ボタンをクリックして、ジョブでデータを処理させます。

AWS Glue - 効率的なデータ分析のための鍵
ジョブは正常に実行されました

ジョブの実行が終了したら、S3/data-source-output-demo/ に移動して確認します。

AWS Glue - 効率的なデータ分析のための鍵
データ寄木細工が出力されます

寄木細工のファイルに問題がないことを確認したら、Aurora Mysql へのデータのインポートに進みます。

7. もう一度ステップ 6 を利用して、上記のデータファイルを Aurora に取り込みます

mysql にインポートするには、まず Aurora mysql データベースを作成する必要があります.

Link hướng dẫn Aurora の作成手順へのリンク。

この例では、Aurora は mysql 5.7 のパブリック アクセスを使用します。

AWS Glue - 効率的なデータ分析のための鍵

Aurora へのインポートを実行する

出典: Aws Glue データカタログ

AWS Glue - 効率的なデータ分析のための鍵
RDS にインポートするテーブルを選択します

変換: スキーマを変更します。目的は列名を修正し、不要な列をエクスポートしないことです

AWS Glue - 効率的なデータ分析のための鍵
AWS Glue - 効率的なデータ分析のための鍵
列名 matkl:material_id、wgbez:material_name を変更します。
他の列が使用されていない場合は削除します

このステップで引き続きターゲット データを Aurora に取り込むには、Visual を使用することはできませんが、スクリプトからコードに切り替える必要があります。 以下のコードを参照できます

PROT11

結果

その後、実行をクリックして結果を監視します:

AWS Glue - 効率的なデータ分析のための鍵
結果画面

結果を確認してください:

AWS Glue - 効率的なデータ分析のための鍵

がんばってください!

関連するすべてのリソースを削除して、余分な費用が発生しないようにしてください。

お問い合わせ

AI・XR・建設DXに関するご相談、お見積もり、採用に関するご質問など、お気軽にお問い合わせください。