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

構造体をフラット化

サポート対象:バッチ、高速、ストリーミング

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

データ加工のカテゴリー:構造体

引数

  • データセット: 構造体の列を含むデータセット。
    Table
  • 式: フラット化する構造体の列に評価される式。
    Expression<Struct>
  • 最大深度: ネストされた構造体をどの深さまでフラット化するかを指定する深度レベル。
    Literal<Integer>
  • 任意 列の接頭辞: フラット化で作成されるすべての列に接頭辞を追加します。
    Literal<String>
  • 任意 区切り文字: ネストされた構造体のフィールド名を区切ります。
    Literal<String>

例

例1:基本ケース

引数の値:

  • データセット: ri.foundry.main.dataset.a
  • 式: raw
  • 最大深度: 2
  • 列の接頭辞: new_
  • 区切り文字: 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:基本ケース

引数の値:

  • データセット: ri.foundry.main.dataset.a
  • 式: raw
  • 最大深度: 2
  • 列の接頭辞: new_
  • 区切り文字: 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 のケース

引数の値:

  • データセット: ri.foundry.main.dataset.a
  • 式: raw
  • 最大深度: 2
  • 列の接頭辞: new_
  • 区切り文字: 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,
}