0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Glue Studio を使って、商品コード変換をやってみる

Last updated at Posted at 2023-08-12

はじめに

Glue Studio を使ってデータ加工のしてみたいと思います。どんなデータ加工をするのかというと、次の画像の感じです。

image-20230811230142558.png

「部品データ」に、部品を表すコードと名前が存在しています。このコードを変換したいと思います。変換のルールは「コード変換ルール」に存在しています。この 2 つを掛け合わせて、変換後部品データを作ります。

この変換は、Glue Studio 上で JOIN で結合すると簡単に実現できます。手順を見ながらやってみましょう。

データの準備

以下の csv データを S3 Bucket に準備します。Glue Studio としては、RDS や Redshift 等でも良いですが、一番手軽に準備できる csv を用意します。

buhin.csv

buhin,name
0001,部品A
0002,部品B
0003,部品C
0004,部品D
0005,部品E

codetransform.csv

before,after
0001,aaaa
0002,bbbb
0003,cccc
0004,dddd
0005,eeee

S3 Bucket に csv データをアップロードしました。

image-20230811231946950.png

Glue Studio データ加工フローの作成

AWS Glue の画面を開いて、Virtual ETL を選択します。

image-20230811232105097.png

Visual with a source and target を選択して、Create を押します。

image-20230811232140163.png

デフォルトで用意されているフローを GUI で編集する画面にきりかわりました。

image-20230811232211745.png

データソースを定義できます。元から配置されている S3 Bucket を選択して、格納した csv データを指定します。

image-20230811232712933.png

2 つのデータを結合したいので、+ ボタンをおします。

image-20230811232731836.png

Data の Source から Amazon S3 を選択します。

image-20230811232801199.png

結合したいデータを選択します。また、テンプレートで存在していた使わないボックスは削除しました。

image-20230811232955009.png

2 つのデータを結合したいので、JOIN を選択します。

image-20230811233035476.png

Outer Join を選択します。また、どの列を結合の条件するかも選択できます。buhin と before で結合します。

image-20230811233324337.png

Data preview を押すと、現在のフローの結果が計算され、結合されている状況が見えます。buhin と before を結合したので、同じコードを表す列が 2 つあります。

image-20230811233525968.png

before 列は不要なので、Drop Fields のboxを配置して、before を選択します。

image-20230811233810618.png

Preview を見ると、before が消えました。

image-20230811233926850.png

Rename Field で after の名前を変更します。

image-20230811234047138.png

bufin_converted という名前に変わりました。

image-20230811234058375.png

その後、保存する先の Target を選択します。今回は、Amazon S3 にしておきます。

image-20230811234130801.png

保存先の csv データの詳細を指定します。csv のまま保存することもできますし、Parquet 形式などにもできます。今回はシンプルに格納します。(Partition Key を指定して格納も出来そうでした。)

image-20230811234354956.png

Job details を選択します。

image-20230812001822759.png

worker 数を 10 から 2 に変更します。

image-20230812001920595.png

Save を押します。

image-20230812002016889.png

ジョブの実行

Run ボタンを押すと、実際にジョブを実行できます。

image-20230811234515165.png

ジョブ実行の進捗具合がわかります。

image-20230811234547174.png

実行時間 1 分ほどで完了します。

image-20230811234844313.png

S3 にデータ加工結果が、複数のファイルに分割されて保存されています。

image-20230812002800598.png

きちんと加工されていました。

image-20230812011103975.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?