注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

Struct のフラット化

サポートされている環境: Batch, Streaming

構造体内のすべてのフィールドを出力データセットの列に変換します。

トランスフォームカテゴリ: Struct

引数

  • Dataset - 構造体列を含むデータセット。
    Table
  • Expression - フラット化される構造体列を評価する式。
    Expression<Struct>
  • Max depth - ネストされた構造体がどの深さまでフラット化されるかを指定する深さレベル。
    Literal<Integer>
  • オプション Column prefix - フラット化時に作成されるすべての列にプレフィックスを追加。
    Literal<String>
  • オプション Separator - ネストされた構造体からのフィールド名を分けるためのセパレーター。
    Literal<String>

例 1: 基本ケース

引数の値:

  • Dataset: ri.foundry.main.dataset.a
  • Expression: raw
  • Max depth: 2
  • Column prefix: new_
  • Separator: null

入力:

raw
{
airline: {
id: NA,
name: new air,
},
tail_no: NA-123,
}
{
airline: {
id: FA,
name: foundry airways,
},
tail_no: FA-123,
}

出力:

new_airline_namenew_airline_idnew_tail_noraw
new airNANA-123{
airline: {
id: NA,
name: new air,
},
tail_no: NA-123,
}
foundry airwaysFAFA-123{
airline: {
id: FA,
name: foundry airways,
},
tail_no: FA-123,
}

例 2: 基本ケース

引数の値:

  • Dataset: ri.foundry.main.dataset.a
  • Expression: raw
  • Max depth: 2
  • Column prefix: new_
  • Separator: #SEPARATOR#

入力:

raw
{
airline: {
id: NA,
name: new air,
},
tail_no: NA-123,
}
{
airline: {
id: FA,
name: foundry airways,
},
tail_no: FA-123,
}

出力:

new_airline#SEPARATOR#namenew_airline#SEPARATOR#idnew_tail_noraw
new airNANA-123{
airline: {
id: NA,
name: new air,
},
tail_no: NA-123,
}
foundry airwaysFAFA-123{
airline: {
id: FA,
name: foundry airways,
},
tail_no: FA-123,
}

例 3: Null ケース

引数の値:

  • Dataset: ri.foundry.main.dataset.a
  • Expression: raw
  • Max depth: 2
  • Column prefix: new_
  • Separator: null

入力:

raw
null
{
airline: null,
tail_no: NA-123,
}
{
airline: {
id: FA,
name: null,
},
tail_no: FA-123,
}

出力:

new_airline_namenew_airline_idnew_tail_noraw
nullnullnullnull
nullnullNA-123{
airline: null,
tail_no: NA-123,
}
nullFAFA-123{
airline: {
id: FA,
name: null,
},
tail_no: FA-123,
}