![見出し画像](https://assets.st-note.com/production/uploads/images/148900203/rectangle_large_type_2_3d949451941fb105ab6f2ce36820c441.png?width=1200)
Photo by
air_mezzanine
【AWS Glue】Glue ETLで列内の値を分割して行に分解する
Glue ETLジョブでTransformの「Split String」「Explode Array Or Map Into Rows」を使って変換前のデータをcolor_list列を分割して行にしていきます
※2024年7月時点の情報です
変換前
![](https://assets.st-note.com/img/1722231341384-OurdW3Wo4K.png)
変換後
![](https://assets.st-note.com/img/1722231487064-Wn6BUFtNoa.png)
「Split String」で列内の値を配列にする
ジョブエディタの「Visual」タブでAdd notes > Transforms > Split Stringを選択し、分割したい列と区切り文字を指定します
※分割結果を別の列に格納したい場合はoptional設定で新しい列名を設定しますが、後続の「Explode Array Or Map Into Rows」で新しい列名がリストに出てこないので今回は設定していません
新しい列名で処理したい場合はScriptモードにする必要がありそうです…
![](https://assets.st-note.com/img/1722232183892-9OFFRsntIZ.png)
Split Stringを実行すると、以下のように配列になります
![](https://assets.st-note.com/img/1722232444183-BcKR37Lb4x.png)
「Explode Array Or Map Into Rows」で配列を行に分解
「Split String」同様、Transformsから選択します
先ほど配列に分割した列を指定します
配列が空でも出力したい場合は、Include Nullsにもチェックを入れます
→チェックを入れないと、id:00004は出力されません
![](https://assets.st-note.com/img/1722233087621-yBT6CNGytq.png)