AI 輔助 SQL:生成、審查和驗證查詢
Telemetry 可以使用簡單語言問題和資料表後設資料來生成第一個 DataFusion SQL 查詢或視覺化計劃。 SQL 在查詢工作區中保持可見和可編輯。這可以減少空白頁時間,但不會將模糊的業務問題轉變為權威指標。
使用 AI 輔助進行加速。將事件合約、計數規則、隱私決策和生產閾值的所有權交給可以審查底層系統的人員。
寫一個有界提示
有用的提示標識資料表、事件粒度、指標、時間範圍、過濾器、分組和預期輸出。例如:
Using api_request_completed, calculate hourly error rate for production
over the last seven complete days. A failed request has outcome = 'error'.
Return request_count, failed_count, and error_rate. Split by route_template,
exclude incomplete current-hour data, and order newest hour first.
這比“顯示 API 健康狀況”更安全,因為分母、結果定義、時間界限和分組都是明確的。
請勿將機密、原始客戶內容、存取權杖、私人提示或未經審查的個人資料貼上到指令中。更喜歡模式名稱、有界類別和綜合範例。
檢視生成的查詢
在執行或儲存生成的 SQL 之前,請檢查以下假設:
| 審閱區 | 問題 |
|---|---|
| 資料表和穀物 | 一行是否代表正在計數的單位? |
| 欄位名稱和型別 | 引用的欄位是否存在相容型別? |
| 時間 | 是否過濾了預期的 UTC 時間戳,是否處理了不完整的儲存桶? |
| 分母 | 該比率是否除以所有符合條件的結果而不僅僅是成功? |
| 空值 | 缺失值是否被故意排除、分組或預設? |
| 加入 | 每個資料表在加入之前是否已預先聚合為安全粒度? |
| 重複項 | 重試或重複交付是否可以將同一業務成果計算兩次? |
| 尺寸 | 分組欄位的範圍是否足以返回有用的結果? |
| 單位 | 持續時間、位元組、權杖、貨幣和百分比的轉換是否一致? |
DataFusion SQL 與 PostgreSQL、BigQuery、Snowflake 等發動機不同。語法上熟悉的函式可能需要受支援的等效函式。當生成的表示式不規劃時,請使用 DataFusion SQL 參考。
驗證結果
成功執行僅證明查詢已執行。使用固定裝置或已知的小視窗驗證含義:
- 檢查原始行中是否有一個預期組。
- 手動計算一項計數、總和或比率。
- 將結果與生成的聚合進行比較。
- 測試空週期和包含空值的週期。
- 檢查最新儲存桶中的部分資料。
- 更換一個過濾器並確認結果按預期方向變化。
對於聯接,比較聯接前後的行數。意外的繁殖通常表明顆粒不相容。
僅儲存已審查的分析
根據其支援的決策(而不是建立該查詢的提示)重新命名已審閱的查詢。如果可行,請在名稱中包含單位和重要範圍。更改邏輯時儲存新的歷史記錄條目,並在使用它的儀表板旁邊解釋材料定義更改。
在未經域審查和代表性測試的情況下,請勿將生成的 SQL 直接連線到尋呼警示、計費工作流程、存取控制決策或面向客戶的財務報告。
改進較弱的第一個答案
如果第一個查詢錯誤,請明確更正:
- 確定行糧和符合條件的人口;
- 提供準確的分類值;
- 指定身分是否針對每個使用者、帳戶、會話或事件;
- 命名預期時間欄位和桶;
- 說明如何處理空值、重試和重複傳遞;
- 請求除最終百分比之外的中間計數;
- 索取 SQL 的簡短假設列表。
Telemetry提示包 包括可重複使用的儀器和 SQL 審查提示。繼續 SQL 可觀測性和事件分析 或針對 SaaS SQL實驗室 中的確定性資料進行練習。