跳至主要內容
Telemetry
可重現的 SQL 查詢範例

如何測試每個 Telemetry SQL 查詢範例

該手冊將機器可檢查的 SQL 相容性與人類可審查的解釋分開。該邊界使每個範例都很有用,而無需假裝合成資料可以驗證您的業務規則。

審閱者 Telemetry產品團隊 . 測試工具、夾具合約、引擎版本和審查邊界. 審查標準和所有權

當前測試目標

阿帕奇 DataFusion 45.2.0

81

套件中的查詢

0

允許寫入語句

自動化品質門

菜譜發布前的五次檢查

1

完整的查詢範例合約

稽核需要問題、事件架構、SQL、範例結果、視覺化、解釋、邊緣案例、儀表板指南、警示指南和相關閱讀。

2

只讀宣告策略

查詢必須以 SELECT 或WITH 開頭。稽核拒絕DDL並寫入CREATE、INSERT、UPDATE、DELETE、DROP、ALTER和MERGE等關鍵字。

3

輸入 DataFusion 執行

Each schema becomes an empty Apache Arrow record batch. The query is planned and executed with Apache DataFusion 45.2.0, catching invalid columns, types, functions, and syntax.

4

可重現的瀏覽器裝置

30 cross-category recipes also execute their complete synthetic input with DuckDB 1.3.2 and compare every expected result value within displayed precision.

5

渲染頁面完整性

站點審查呈現每個菜譜並檢查其狀態、規範 URL、標題、描述、H1、結構化資料和內部連結。

執行檢查證明了什麼

審查根據查詢範例頁面上顯示的欄位名稱和箭頭型別建置每個記錄的表格。它在新的 DataFusion 會話中註冊一個空批次,執行確切發布的 SQL,如果引擎拒絕計劃或執行,則會失敗。這可以捕獲拼寫錯誤的欄位、不相容的操作、不支援的函式、不明確的列、格式錯誤的間隔以及許多返回型別錯誤,而無需生產資料。

固定版本是故意的。 SQL 引擎不斷發展,因此查詢不會僅僅因為類似的方言接受它而被標記為相容。當應用程式升級 DataFusion 時,會在記錄的版本更改之前重新執行完整的集合。

安全複製並不安全假設

查詢無法知道您對活動帳戶、已恢復付款、永久性 Webhook 失敗或可接受的延遲的定義。每個查詢範例都對這些選擇進行了命名,以便審查者可以在儀表板或警示變得權威之前更改它們。

人工審查

還需要判斷什麼

空型別資料表證明查詢計劃並執行;它並不能證明業務定義是正確的。

顯示的行和圖表是確定性的綜合範例。它們顯示輸出形狀和預期解釋,而不是基準或客戶結果。

閾值、最小交易量、時間視窗、身分規則、貨幣和終端狀態必須適應擁有它們的事件合約。

延遲事件、重複的提供程式交付、不完整的最新儲存桶以及架構更改可能會改變實際結果,即使 SQL 有效也是如此。

公共固定裝置合約

每個查詢範例都會發布一個 JSON 包,其中包含型別化模式、說明性輸入行、精確 SQL、確定性預期輸出、引擎版本和審閱註釋。 CSV 公開相同的顯示結果,而靜態 SVG 使範例圖表可索引和可​​重用。緊湊的輸入展示了欄位名稱和 JSON 型別;它故意不表示為聚合結果的完整生成器。

30 可重現的查詢範例更進一步:它們的完整合成行在 瀏覽器 SQL 遊樂場 並根據預期值進行檢查。其他緊湊的輸入仍然是模式示範,防止微小的教學裝置被誤認為是統計驗證集。

連線的 SQL 實驗室 使用單獨版本化的合成 SaaS 資料集,以便學習者可以練習聯接和多階段業務定義,而不會混淆課程資料與生產基準。

主要發動機參考

Apache發布權威的SQL語法、函式、型別和升級文件。即時參考可能描述比 Telemetry 固定測試目標更新的版本,因此查詢範例頁面上的相容性宣告繼續命名確切的審查版本。

驗證您自己的活動合約中的菜譜

匹配欄位名稱和型別,傳送涵蓋成功和失敗路徑的小型綜合夾具,檢查中間 CTE,將總計與已知輸入進行比較,並在儲存的查詢旁邊記錄最終業務定義。