範例 - Extractkv 和 Unnest 轉換

這個範例示範如何使用下列轉換指令,將物件中的巢狀資料拆分成不同的資料欄:

  • extractkv:從來源字串中移除鍵/值組合,請參閱 Extract 轉換
  • unnest:在獨立的資料列和資料欄中拆分巢狀資料,請參閱 Unnest 轉換

來源:

您有以下的二手車相關資訊。VIN 資料欄含有車輛 ID,而 Properties 資料欄則包含描述每部車輛特性的鍵/值組合。您想要將此資料拆分成不同的資料欄。

VINProperties
XX3 JT4522year=2004,make=Subaru,model=Impreza,color=green,mileage=125422,cost=3199
HT4 UJ9122year=2006,make=VW,model=Passat,color=silver,mileage=102941,cost=4599
KC2 WZ9231year=2009,make=GMC,model=Yukon,color=black,mileage=68213,cost=12899
LL8 UH4921year=2011,make=BMW,model=328i,color=brown,mileage=57212,cost=16999

轉換:

請新增下列轉換指令,以識別資料欄中所有開頭為字母字元的鍵值。

  • valueafter 字串標示對應值在鍵後的開始位置。
  • delimiter 字串表示每個鍵/值組合的結尾。

extractkv col:Properties key:`{alpha}+` valueafter:`=` delimiter:`,`

現在已建立上述值的物件,您可以使用 unnest 轉換拆分這個對應的資料。以下步驟指定了每個鍵,可以在結果中讓系統使用鍵的名稱做為各個資料欄的標題:

unnest col:extractkv_Properties keys:'year','make','model','color','mileage','cost'

結果:

刪除不必要的 Properties 資料欄後,您應該會看到下面這樣的資料集:

VINyearmakemodelcolormileagecost
XX3 JT45222004SubaruImprezagreen1254223199
HT4 UJ91222006VWPassatsilver1029414599
KC2 WZ92312009GMCYukonblack6821312899
LL8 UH49212011BMW328ibrown5721216999
本頁內容對您是否有任何幫助?請提供意見:

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

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