[配列またはマップを行に分解] 変換の使用 - AWS Glue

[配列またはマップを行に分解] 変換の使用

[分解] 変換では、ネストされたデータ構造から値を抽出し、操作しやすい個々の行を追加できます。配列の場合、変換により配列の各値に対して行が生成され、その行に他の列の値が複製されます。マップの場合、変換によりキーと値を列として持つ各エントリに対して行が生成されます。各エントリには列としてのキーと値があり、その行に他の列も複製されます。

例えば、このデータセットに複数の値がある「category」配列の列があるとします。

product_id category
1 [sports, winter]
2 [garden, tools]
3 [videogames]
4 [game, boardgame, social]
5 []

「category」列が同じ名前の列に分解されると、その列が上書きされます。NULL を含めるように選択すると、次のようになります (分かりやすいように順番になっています)。

product_id category
1 sports
1 winter
2 garden
2 tool
3 videogames
4 ゲーム
4 boardgame
4 social
5
[配列またはマップを行に分解] 変換を追加するには:
  1. リソースパネルを開いて、[Explode Array Or Map Into Rows] を選択し、ジョブ図に新しい変換を追加します。ノードを追加する際に選択したノードが、その親になります。

  2. (オプション) [Node properties] (ノードのプロパティ) タブで、ジョブ図にノードの名前を入力できます。ノードの親がまだ選択されていない場合は、[Node parents] (ノードの親) リストから、変換の入力ソースとして使用するノードを選択します。

  3. [変換] タブで、分解する列を選択します (タイプが配列またはマップである必要があります)。次に、配列の項目を表す列の名前を入力するか、マップを分解する場合はキーと値を表す列の名前を入力します。

  4. (オプション) [変換] タブでは、デフォルトで分解する列が NULL、またはデータ構造が空である場合、分解されたデータセットではその列が省略されます。(新しい列を NULL として) 行を残しておきたい場合は、[NULL を含む] にチェックを入れます。

    スクリーンショットは、[配列またはマップを行に分解] 変換の [変換] タブを示しています。