लेबल के अनुसार BigQuery लागत विश्लेषण
BigQuery जॉब लेबल आपको मनमाने key-value मेटाडेटा के साथ क्वेरी को टैग करने देते हैं — टीम नाम, पाइपलाइन आईडी, फीचर फ्लैग, या एनवायरनमेंट टैग। यह क्वेरी लेबल द्वारा लागत एकत्र करती है।
यह क्यों मायने रखता है
उपयोगकर्ता-स्तरीय लागत एट्रिब्यूशन की सीमाएं हैं। आधुनिक डेटा स्टैक में, एक सेवा खाता दर्जनों टीमों या पाइपलाइनों की ओर से क्वेरी चला सकता है। लेबल इस अंतर को पाटते हैं।
यह कैसे काम करता है
BigQuery प्रत्येक जॉब पर एक दोहराए गए STRUCT फ़ील्ड के रूप में लेबल संग्रहीत करता है। यह क्वेरी labels array पर CROSS JOIN करती है, जॉब्स को डीडुप्लिकेट करती है, और फिर प्रत्येक label key-value जोड़ द्वारा total_bytes_billed एकत्र करती है।
SQL क्वेरी
Fill in your details to get a ready-to-run query:
-- Break down on-demand cost by job label
DECLARE lookback_days INT64 DEFAULT 30;
WITH flattened AS (
SELECT
job_id,
lbl.key AS label_key,
lbl.value AS label_value,
COALESCE(total_bytes_billed, 0) AS bytes_billed,
ROW_NUMBER() OVER (PARTITION BY job_id ORDER BY end_time DESC) AS rn
FROM `your-project`.`region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
CROSS JOIN UNNEST(labels) AS lbl
WHERE creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL lookback_days DAY)
AND state = 'DONE'
AND total_slot_ms IS NOT NULL
AND lbl.key IS NOT NULL
),
deduplicated AS (
SELECT label_key, label_value, bytes_billed
FROM flattened WHERE rn = 1
)
SELECT
label_key,
label_value,
COUNT(*) AS job_count,
ROUND(SUM(bytes_billed) / POW(1024, 3), 2) AS gib_scanned,
ROUND(SUM(bytes_billed) / POW(1024, 4) * 6.25, 2) AS estimated_cost_usd
FROM deduplicated
GROUP BY label_key, label_value
...क्वेरी व्याख्या
क्वेरी प्रति जॉब प्रति लेबल एक पंक्ति को फ्लैट करने के लिए labels repeated field पर CROSS JOIN करती है। job_id पर ROW_NUMBER() के साथ डीडुप्लिकेट करती है, फिर total_bytes_billed का योग करने के लिए label_key और label_value द्वारा समूहबद्ध करती है।
मुख्य अंतर्दृष्टि
यदि आपके अधिकांश जॉब में लेबल नहीं हैं, तो यह क्वेरी केवल आपकी लागत का एक अंश दिखाएगी।
लेबल-स्तरीय लागतों की महीने-दर-महीने तुलना करें।
'environment=production' बनाम 'environment=staging' जैसे लेबल प्रकट कर सकते हैं कि गैर-उत्पादन कार्यभार अपेक्षा से अधिक लागत कर रहे हैं।
dbt स्वचालित रूप से मॉडल नाम के साथ लेबल जोड़ता है।
सर्वोत्तम प्रथाएं
- 1
एक लेबलिंग नीति लागू करें: सभी शेड्यूल्ड जॉब पर कम से कम 'team' और 'pipeline' लेबल की आवश्यकता करें।
- 2
हर जॉब को स्वतः टैग करने के लिए अपने ऑर्केस्ट्रेशन टूल में BigQuery के डिफ़ॉल्ट क्वेरी लेबल का उपयोग करें।
- 3
शुरुआती प्रतिगमन को पकड़ने के लिए समय के साथ लेबल-स्तरीय लागतों को ट्रैक करने वाला डैशबोर्ड बनाएं।
- 4
उन लेबल पर अलर्ट करें जिनकी साप्ताहिक लागत एक सीमा से अधिक हो।
क्या आप चाहते हैं कि CloudClerk स्वचालित रूप से ये बचत खोजे?
हमारा प्लेटफॉर्म आपके BigQuery प्रोजेक्ट से जुड़ता है, इन विश्लेषणों को स्वचालित रूप से चलाता है और AI-संचालित अनुकूलन सिफारिशें देता है।
संबंधित गाइड
उपयोगकर्ता के अनुसार BigQuery लागत विश्लेषण
जानें कि कौन से उपयोगकर्ता सबसे अधिक BigQuery खर्च करते हैं। INFORMATION_SCHEMA से ऑन-डिमांड लागत के अनुसार उपयोगकर्ताओं की रैंकिंग करें।
गाइड पढ़ेंप्रोजेक्ट के अनुसार BigQuery लागत विश्लेषण
GCP प्रोजेक्ट में BigQuery लागतों को ट्रैक करें। INFORMATION_SCHEMA का उपयोग करके प्रोजेक्ट-स्तरीय खर्च की तुलना करें और सबसे महंगे प्रोजेक्ट खोजें।
गाइड पढ़ेंलागत के अनुसार BigQuery की शीर्ष क्वेरी
ऑन-डिमांड लागत के अनुसार सबसे महंगी BigQuery क्वेरी खोजें। सबसे बड़े लागत चालकों की पहचान करने के लिए कुल बिल किए गए बाइट्स द्वारा क्वेरी रैंक करें।
गाइड पढ़ेंक्वेरी के अनुसार BigQuery लागत विश्लेषण
प्रत्येक व्यक्तिगत क्वेरी की लागत, स्लॉट उपयोग और निष्पादन समय का विश्लेषण करें। प्रति क्वेरी निष्पादन ऑन-डिमांड लागत का विस्तृत विवरण प्राप्त करें।
गाइड पढ़ें