初始剖析步驟

您的資料集初次載入「Transformer」(轉換器) 頁面時,可能會有一或多個步驟自動加入您的方案,以協助剖析資料。這些新增步驟的依據,是正在載入的資料類型,以及應用程式識別資料結構的能力。

自動偵測結構

注意:由於有自動結構偵測功能,這些步驟根據預設不會出現在方案面板中。如果您對資料集的初始結構有問題,則可以選擇在停用偵測結構的情況下,重新匯入資料集。然後,您可以查看此節,瞭解如何手動建立資料架構。如要深入瞭解如何變更資料集匯入設定,請參閱匯入資料集一文。

本節提供有關如何將初始解析步驟應用於原始匯入資料集的資訊。您可透過方案面板套用這些步驟。

注意:未偵測到其結構定義的已匯入資料集,會加上「非結構化資料集」的標籤。這些資料集會在應用程式中進行標記。這個資料集的方案第一次載入「轉換」頁面時,系統會將構造步驟新增為相關方案的前幾個步驟,而且可根據需要進行修改。

總覽

初次載入資料時,它最初包含在單一資料欄中,因此初始步驟可套至 column1

步驟 1:分割資料列。在大多數情況下,新增至方案的第一個步驟是 Splitrows 轉換;這個轉換會根據在每行結尾一致識別的模式來拆解個別資料列。這個值通常是回車字元或回車-換行字元。這些值在 Wrangle 會分別寫入為 \r\r\n。請參閱下方的範例。

步驟 2:分割資料欄。接下來,應用程式會嘗試將個別資料列拆解為資料欄。

  • 若資料集沒有結構定義,就會使用 Split Column 轉換。此轉換嘗試在列資料中找出單一持續模式或一系列的模式,以區分各個值 (欄位) 的結尾。

    注意:請勿建立超過 2500 個資料欄的資料集。如果資料集的規模太大,系統的效能將會大幅降低。

  • 如果資料集包含結構定義,則該資訊會用於區分資料集中的資料欄。

成功完成上述步驟後,資料可透過表格格式顯示在資料格線中。

步驟 3:新增資料欄標頭。若資料第一列包含一組可識別的資料欄名稱,就可能會套用 Rename Columns 搭配 Rows 轉換,將第一列的值轉換為資料欄名稱。

範例方案:

  1. 轉換名稱 Split into rows
    參數:資料欄 column1
    參數:分割 \r
    參數:忽略位於兩個引號之間的比對項目 \"
    參數:為逸出字元加上引號 \"
  2. 轉換名稱 Split column
    參數:資料欄 column1
    參數:選項 on pattern
    參數:配對模式 ','
    參數:配對數量 9
    參數:忽略位於兩個引號之間的比對項目 \"
  3. 轉換名稱 Add header
    參數:資料列編號 1

完成這些步驟後,系統將從樣本中的資料推斷每個資料欄的資料類型。請參閱支援的資料類型一文。

Excel、CSV

Microsoft Excel 檔案可在內部轉換成 CSV 檔案,然後載入「轉換」頁面。函式會使用一般解析步驟處理 CSV 檔案。請參閱先前章節。

詳情請參閱匯入 Excel 資料

JSON

假如匯入資料集的 80% 記錄是有效的 JSON 物件,則資料將以 JSON 格式進行剖析。

注意事項:

  • 對 JSON 檔案而言,以非結構化格式匯入相當重要。
  • Cloud Dataprep by TRIFACTA 需要在每一行使用一個有效的 JSON 物件提交 JSON 檔案。
    • 不支援多行 JSON 匯入。
    • 如果 JSON 物件持續出現異常格式,或物件與換行符號重疊,可能會導致匯入失敗。

步驟 1:分割資料列。JSON 資料一開始通常會使用 Splitrows 轉換。

步驟 2:拆分資料列。接下來,必須將資料從巢狀 JSON 結構中拆解為平面資料列。使用 Unnest Objects 轉換時,應用程式會嘗試將 JSON 轉譯為格式一致的資料列。

注意:在初次剖析後,您可能需要針對個別資料欄多次套用 Unnest Objects 轉換,才能完全拆分資料。

步驟 3:刪除來源。如果資料成功拆分,就會透過 Delete Columns 轉換移除來源資料欄。

範例方案:

轉換名稱 Split into rows
參數:資料欄 column1
參數:分割 \n
參數:為逸出字元加上引號 \"

下方的 c1 - c3 值會識別用於區分 JSON 來源中頂層節點的鍵。這些會成為資料格線中個別資料欄的標頭。

轉換名稱 Unnest Objects into columns
參數:資料欄 column1
參數:元素路徑 c1,c2,c3
參數:由原始資料移除元素 true

如果以上函式成功執行,則來源資料欄會遭到刪除:

轉換名稱 Delete columns
參數:資料欄 column1

已知問題

  • 匯入資料集之中的部分字元,例如 NUL (ASCII 字元 0) 字元,可能在識別分行符號時產生問題。如果初始剖析對分行符號發生問題,就可能需要在匯入前於來源資料修復問題,因為 Splitrows 轉換必須是方案之中的第一個步驟。

疑難排解

於方案建立後修復結構化來源的剖析問題

如果您開始建立方案之後,發現資料集出現結構化來源初始剖析的相關問題,可以利用下列步驟嘗試修正問題。

步驟:

  1. 開啟包含方案的流程。
  2. 選擇已匯入的資料集。請由內容選單選取 [Remove structure...] (移除結構)
  3. 針對已匯入資料集按下 [Add new recipe] (新增方案)
  4. 針對此方案的初始剖析步驟進行變更。
  5. 選擇您之前一開始修改的方案。請由其內容選單選擇新方案作為來源。

現在新的初始剖析步驟已插入方案流程之中,位於開發中的方案步驟之前。