探索、疑難排解及驗證SQL的批次擷取
- 主題:
- 查詢
建立對象:
- 使用者
- 開發人員
本檔案說明如何使用SQL驗證及驗證所擷取批次中的記錄。 本檔案會教導您:
- 存取資料集批次中繼資料
- 透過查詢批次進行疑難排解並確保資料完整性
先決條件
為了協助您瞭解本檔案中討論的概念,您應該瞭解下列主題:
存取資料集批次中繼資料
若要確保查詢結果中包含系統資料行(中繼資料資料行),請在查詢編輯器中使用SQL命令set drop_system_columns=false
。 這會設定SQL查詢工作階段的行為。 如果您啟動新的工作階段,則必須重複此輸入。
接下來,若要檢視資料集的系統欄位,請執行SELECT all陳述式以顯示資料集的結果,例如select * from movie_data
。 結果在右側_acp_system_metadata
和_ACP_BATCHID
包含兩個新欄。 中繼資料資料行_acp_system_metadata
和_ACP_BATCHID
可協助識別所擷取資料的邏輯和實體資料分割。
將資料內嵌至Experience Platform時,會根據傳入的資料為其指派邏輯分割區。 此邏輯分割由_acp_system_metadata.sourceBatchId
表示。 此ID可協助您在處理和儲存資料批次之前,依邏輯將其分組和識別。
在處理資料並擷取到資料湖後,會指派給它以_ACP_BATCHID
表示的實體分割。 此ID反映所擷取資料所在的資料湖中的實際儲存分割區。
使用SQL來瞭解邏輯和實體分割區
若要瞭解資料在擷取後如何分組和分配,請使用下列查詢來計算每個邏輯分割區(_acp_system_metadata.sourceBatchId
)的不同實體分割區(_ACP_BATCHID
)數目。
SELECT _acp_system_metadata, COUNT(DISTINCT _ACP_BATCHID) FROM movie_data
GROUP BY _acp_system_metadata
此查詢的結果如下圖所示。
這些結果顯示輸入批次的數量並不一定與輸出批次的數量相符,因為系統決定了批次和在Data Lake中儲存資料的最有效方式。
在此範例中,假設您已將CSV檔案擷取至Experience Platform,並建立名為drug_checkout_data
的資料集。
drug_checkout_data
檔案是包含35,000筆記錄的深度巢狀集合。 使用SQL陳述式SELECT * FROM drug_orders;
來預覽JSON型drug_orders
資料集中的第一組記錄。
下圖顯示檔案及其記錄的預覽。
使用SQL產生批次擷取程式的深入分析
使用下列SQL陳述式,深入分析資料擷取程式如何將輸入記錄分組並處理為批次。
SELECT _acp_system_metadata,
Count(DISTINCT _acp_batchid) AS numoutputbatches,
Count(_acp_batchid) AS recordcount
FROM drug_orders
GROUP BY _acp_system_metadata
查詢結果如下圖所示。
此結果說明資料擷取程式的效率和行為。 雖然已建立三個輸入批次(每個都包含2000、24000和9000筆記錄),但合併記錄並去除重複資料時,只剩下一個唯一批次。
使用SQL驗證批次
接下來,驗證並驗證已使用SQL擷取到資料集中的記錄。
擷取批次後,您必須針對您擷取資料的資料集,導覽至資料集活動標籤。
在Experience Platform UI中,選取左側導覽中的 資料集 以開啟資料集儀表板。 接下來,從瀏覽索引標籤中選取資料集名稱,以存取資料集活動畫面。
資料集活動檢視即會顯示。 此檢視包含您所選資料集的詳細資料。 其中包含以表格格式顯示的任何擷取批次。
從可用批次清單中選取批次,然後從右側的詳細資訊面板複製批次ID。
接下來,使用以下查詢來擷取該批次中包含在資料集中的所有記錄:
SELECT * FROM movie_data
WHERE _acp_batchid='01H00BKCTCADYRFACAAKJTVQ8P'
LIMIT 1;
_ACP_BATCHID
關鍵字用於篩選批次ID。
LIMIT
子句會很有幫助,但更需要篩選條件。當您在查詢編輯器中執行此查詢時,結果將被截斷為100列。 查詢編輯器專為快速預覽和調查而設計。 若要擷取最多50,000列,您可以使用第三方工具,例如DBVisualizer或DBeaver。
後續步驟
閱讀本檔案後,您已瞭解在資料擷取程式中,驗證及驗證擷取批次中記錄的基本知識。 您也深入瞭解了存取資料集批次中繼資料、瞭解邏輯和實體分割區,以及使用SQL命令查詢特定批次。 這些知識可協助您確保資料完整性,並最佳化Experience Platform上的資料儲存空間。
接下來,您應該練習資料擷取,以套用所學的概念。 使用提供的範例檔案或您自己的資料將範例資料集擷取到Experience Platform。 如果您尚未這麼做,請閱讀教學課程,瞭解如何將資料內嵌至Adobe Experience Platform。
或者,您可以學習如何使用各種案頭使用者端應用程式連線及驗證查詢服務,以增強您的資料分析功能。