活動合約
查詢期望的欄位
| 欄位 | 型別 | 為什麼存在 |
|---|---|---|
| timestamp_utc | Timestamp | 當計費活動在 UTC 完成時。 |
| meter_event_id | Utf8 | 一個邏輯使用記錄的冪等鍵。 |
| account_id | Utf8 | 穩定的計費帳戶識別符號。 |
| plan | Utf8 | 使用發生時擁有配額的計劃。 |
| billable_units | Float64 | 此事件新增的標準化單位。 |
| included_units | Float64 | 每月包含帳戶和計劃的配額。 |
DataFusion SQL
複製查詢
sql
WITH deduplicated_usage AS (
SELECT
meter_event_id,
account_id,
plan,
MAX(billable_units) AS billable_units,
MAX(included_units) AS included_units
FROM usage_meter_events
WHERE timestamp_utc >= date_trunc('month', now())
GROUP BY meter_event_id, account_id, plan
)
SELECT
account_id,
plan,
COUNT(*) AS meter_events,
SUM(billable_units) AS used_units,
MAX(included_units) AS included_units,
100.0 * SUM(billable_units)
/ NULLIF(MAX(included_units), 0) AS quota_used_pct,
SUM(billable_units) - MAX(included_units) AS overage_units
FROM deduplicated_usage
GROUP BY account_id, plan
ORDER BY quota_used_pct DESC;此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。
查詢結果
帳戶每月使用額度
Harbor 已經超出了其包含的配額,而 Lumen 已經足夠接近,需要進行預測或通知客戶。
account_harbor
112.6%
account_lumen
84.2%
account_north
67.2%
| account_id | plan | meter_events | used_units | included_units | quota_used_pct | overage_units |
|---|---|---|---|---|---|---|
| account_harbor | growth | 18,420 | 1,126,000 | 1,000,000 | 112.6 | 126,000 |
| account_lumen | growth | 12,880 | 842,000 | 1,000,000 | 84.2 | -158,000 |
| account_north | starter | 3,610 | 168,000 | 250,000 | 67.2 | -82,000 |
綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。
SQL 是如何工作的
- 1第一個 CTE 按計量事件 ID 進行分組,因此至少一次交付不能對相同的邏輯使用量進行兩次計費。
- 2可計費單位的合計與事件計數無關,因為一個請求可以代表許多單位或小數單位。
- 3配額百分比和超額保留了帳戶排名和賬單審查所需的特定於計劃的分母。
需要決定的邊緣情況
- 計劃變更需要明確的按比例分配政策;當配額可能在中期發生變化時,單個月的最高限額就很說明問題。
- 更正和負面使用需要僅附加調整合約,而不是默默地改變先前的事件。
- 在發票成為最終結果之前,與計費提供商對彙總進行核對。
推薦儀表板
- 酒吧:quota_used_pct(按帳戶)
- 資料表:已用、包含和超額單位
- 趨勢:75% 以上的帳戶每日計費單位
讓查詢範例發揮作用
相關埋點和指南
定義源資料
此分析的事件模式
繼續分析
在真實事件中執行它
建立資料表,調整欄位並儲存結果
免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。