【AWS Glue】Glue ETLで列内の値を分割して行に分解する
Glue ETLジョブでTransformの「Split String」「Explode Array Or Map Into Rows」を使って変換前のデータをcolor_list列を分割して行にしていきます
※2024年7月時点の情報です
変換前
変換後
「Split String」で列内の値を配列にする
ジョブエディタの「Visual」タブでAdd notes > Transforms > Split Stringを選択し、分割したい列と区切り文字を指定します
※分割結果を別の列に格納したい場合はoptional設定で新しい列名を設定しますが、後続の「Explode Array Or Map Into Rows」で新しい列名がリストに出てこないので今回は設定していません
新しい列名で処理したい場合はScriptモードにする必要がありそうです…
Split Stringを実行すると、以下のように配列になります
「Explode Array Or Map Into Rows」で配列を行に分解
「Split String」同様、Transformsから選択します
先ほど配列に分割した列を指定します
配列が空でも出力したい場合は、Include Nullsにもチェックを入れます
→チェックを入れないと、id:00004は出力されません