Nest 轉換

注意:轉換屬於基礎程式語言的一部分,使用者無法直接存取。本篇文章的內容僅供參考。

使用資料欄名稱及其值作為一或多個資料欄的鍵/值組合,以建立值的物件或陣列。產生的資料欄類型是由 into 參數決定。

nest 轉換的作用與 unnest 相反,後者會將物件資料拆分成不同的資料欄和資料列。請參閱 Unnest 轉換

基本用法

ItemAItemB
2233
4455

物件範例:

nest col:ItemA,ItemB into:'obj' as:'myObj'

輸出:請參閱下列範例。

ItemAItemBmyObj
2233{"ItemA":"22","ItemB","33"}
4455{"ItemA":"44","ItemB","55"}

陣列範例:

nest col:ItemA,ItemB into:'array' as:'myArray'

輸出:輸出陣列不含資料欄名稱。

ItemAItemBmyArray
2233["22","33"]
4455["44","55"]

參數

nest col:column_ref [into: object|array] [as:'new_column_name']

符記是否必要?資料類型說明
nest轉換轉換名稱
col字串來源資料欄名稱
into字串輸出資料欄的資料類型:object (預設) 或 array
as字串新產生的資料欄名稱

若要進一步瞭解語法標準,請參閱語言文件語法附註

col

識別要套用轉換的一個或多個資料欄。您可以指定一或多個資料欄。

如何指定多個資料欄:

  • 以逗號分隔多個不同的資料欄名稱。資料欄名稱值要區分大小寫。
  • 在適用情況下,可使用波浪號 (~) 指定某一範圍的值。

系統會針對每一個列出的資料欄,產生一對新的索引鍵與值資料欄。

nest col: Qty, Amount

輸出:QtyAmount 資料欄建立資料的物件。

您也可以使用波浪號 (~) 運算子指定特定範圍的資料欄:

nest col:Column1~Column20 as:'bigNest'

輸出:Column1Column20 資料欄,以及資料格線中在這兩個資料欄之間顯示的所有資料欄中的資料轉成巢狀結構,然後儲存到新的資料欄 bigNest

使用須知:

是否必要?資料類型
字串 (資料欄名稱)

into

定義輸出資料欄類型。接受的值:

  • object
  • array

如果未指定這個參數,則輸出類型為物件。

使用須知:

是否必要?資料類型
否 (物件為預設值)字串 (資料類型名稱)

as

系統即將產生的新資料欄名稱。如果未指定 as 參數,則使用預設名稱。

nest col: CustId,ProdId as:'masterNest'

輸出:CustIdProdId 資料欄中的資料轉成巢狀結構,然後儲存到名為 masterNest 的新資料欄。

使用須知:

是否必要?資料類型
字串 (資料欄名稱)

範例

來源:

在以下範例中,傢俱產品尺寸 (以公分為單位) 儲存在不同的資料欄中。

類別姓名長度寬度高度
長椅Hooska118.1174.9346.34
燈具Tansk30.4830.48

165.1

書架Brock27.94160.02201.93
沙發Loafy9522783

轉換:

使用 nest 轉換,將資料組合成單一資料欄。

nest col:Length~Height as:'Dimensions'

結果:

類別姓名長度寬度高度維度
長椅Hooska118.1174.9346.34{"Length_cm":"118.11","Width_cm":"74.93","Height_cm":"46.34"}
燈具Tansk30.4830.48

165.1

{"Length_cm":"30.48","Width_cm":"30.48","Height_cm":"165.1"}
書架Brock27.94160.02201.93{"Length_cm":"27.94","Width_cm":"160.02","Height_cm":"201.93"}
沙發Loafy9522783{"Length_cm":"95,"Width_cm":"227","Height_cm":"83"}

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Google Cloud Dataprep 說明文件
需要協助嗎?請前往我們的支援網頁