मिन्हाज़ काज़ी, Google Analytics के डेवलपर एडवोकेट – अक्टूबर 2022
बड़े डेटासेट के लिए, बिलकुल अलग तरह की संख्या (जैसे, एलिमेंट की संख्या) को मेज़र करने की ज़रूरत होती है की मेमोरी उपलब्ध कराई जाती है और इससे परफ़ॉर्मेंस पर असर पड़ता है. Google Analytics 4 प्रॉपर्टी सबसे ज़्यादा इस्तेमाल की जाने वाली मेट्रिक के लिए, एलिमेंट की संख्या का अनुमान लगाने के लिए HyperLog++ (HLL++) एल्गोरिदम इसमें सक्रिय उपयोगकर्ता और सेशन शामिल हैं. उदाहरण के लिए, चालू है उपयोगकर्ता Google Analytics के यूज़र इंटरफ़ेस (यूआई) में और Data API के ज़रिए, उपयोगकर्ताओं की संख्या अनुमान है. इन मेट्रिक के लिए HLL++ का इस्तेमाल करने से बेहतर होता है परफ़ॉर्मेंस का अनुमान, ज़्यादा सटीक और कम गड़बड़ी वाली चीज़ों के साथ मिलता है. यह ब्लॉग पोस्ट में इस बारे में जानकारी दी गई है कि Google Analytics 4 प्रॉपर्टी में HLL++ का इस्तेमाल कैसे किया जाता है BigQuery इवेंट एक्सपोर्ट का इस्तेमाल करके, कुछ अनुमानों को कॉपी करने का तरीका भी बताया गया है डेटा शामिल है.
HLL++ के बारे में
HLL++, एलिमेंट की संख्या का अनुमान लगाता है. यह कम मेमोरी का इस्तेमाल करता है और परफ़ॉर्मेंस को बेहतर बनाता है.
HLL++ में HyperLog एल्गोरिदम के ज़रिए किए गए सुधार किए गए हैं. यह इन पर आधारित है
हाइपरलॉग इन प्रैक्टिस: अल्गोरिदमिक इंजीनियरिंग ऑफ़ अ स्टेट ऑफ़ द आर्ट
एलिमेंट की संख्या का अनुमान लगाने का एल्गोरिदम. HLL++ precision
पैरामीटर में बदलाव
इसका मतलब है कि दिए गए आंकड़ों के सटीक होने के मुकाबले, मेमोरी के इस्तेमाल में छूट मिलेगी. अपनी
पैरामीटर मान गड़बड़ी को कम करता है, लेकिन मेमोरी की खपत को बढ़ाता है.
BigQuery में यूनीक काउंट लागू करना
- एलिमेंट की सटीक संख्या मेज़र करने के लिए,
COUNT(DISTINCT)
का इस्तेमाल करें. इस तरीके का इस्तेमाल करने के लिए, और मेमोरी की क्षमता ज़्यादा होती है और इसे चलाने में ज़्यादा समय लगता है. खास तौर पर, बड़े डेटासेट की वजह से. APPROX_COUNT_DISTINCT
HLL++ के साथ नतीजों का अनुमान लगाता है. हालांकि,APPROX_COUNT_DISTINCT
, उपयोगकर्ताओं को अनुमान कॉन्फ़िगर करने की अनुमति नहीं देता है कितना सटीक है.- पसंद के मुताबिक
precision
वैल्यू का इस्तेमाल करने के लिए, HyperLog++ फ़ंक्शन का इस्तेमाल करें. यहां जाएं: अनुमति वालीprecision
वैल्यू और कॉन्फ़िडेंस के लिए HLL++ स्केच सामान्य सटीक के लिए इंटरवल. - HLL+ के लिए एक और पैरामीटर
sparse precision
है. BigQuery में,sparse precision
वैल्यू को उपयोगकर्ता तय नहीं कर सकता और न ही इसेprecision + 5
पर सेट किया गया है.
Google Analytics 4 प्रॉपर्टी में HLL++ लागू करना
Google Analytics 4, एलिमेंट की संख्या मेज़र करने के लिए इस कॉन्फ़िगरेशन का इस्तेमाल करता है मेट्रिक के बारे में ज़्यादा जानें.
मेट्रिक | precision |
sparse precision |
---|---|---|
सेशन | 12 | 17 |
सक्रिय उपयोगकर्ता | 14 | 25 |
कुल उपयोगकर्ता | 14 | 25 |
Google Analytics इवेंट डेटा के साथ BigQuery HLL++ फ़ंक्शन का इस्तेमाल करना
अगर आपकी Google Analytics 4 प्रॉपर्टी का इवेंट डेटा, BigQuery में उपलब्ध है, तो यूज़र इंटरफ़ेस (यूआई) की मेट्रिक को BigQuery डेटा के साथ मैच करने की कोशिश कर सकता है. ये उदाहरण मान लें:
- Google Analytics 4 के लिए, रिपोर्टिंग आइडेंटिफ़ायर को
By device only
पर सेट किया गया है प्रॉपर्टी. - अंतर की अन्य वजहें, जैसे कि रिपोर्टिंग टाइमज़ोन, पहले से ही मौजूद है समाधान किया गया है.
कुल उपयोगकर्ता
COUNT(DISTINCT)
का इस्तेमाल करके सटीक गिनती:
SELECT
COUNT(DISTINCT user_pseudo_id) AS exact_total_user_count,
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
APPROX_COUNT_DISTINCT
का इस्तेमाल करके अनुमानित संख्या:
SELECT
APPROX_COUNT_DISTINCT(user_pseudo_id) AS approx_total_user_count,
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
BigQuery HLL++ फ़ंक्शन का इस्तेमाल करके, APPROX_COUNT_DISTINCT
को कॉपी किया जा सकता है. यह
APPROX_COUNT_DISTINCT
के समान या बहुत मिलते-जुलते परिणाम देगा:
SELECT
HLL_COUNT.EXTRACT(HLL_COUNT.INIT(user_pseudo_id, 15)) AS approx_total_user_count,
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
और आखिर में, Google Analytics यूज़र इंटरफ़ेस (यूआई) में डेटा की कॉपी बनाने के लिए, precision = 14
का इस्तेमाल करें:
SELECT
HLL_COUNT.EXTRACT(HLL_COUNT.INIT(user_pseudo_id, 14)) AS total_user_count,
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
सक्रिय उपयोगकर्ता
BigQuery इवेंट एक्सपोर्ट टेबल से सक्रिय उपयोगकर्ताओं की संख्या का हिसाब लगाने के लिए, सबसे पहले सिर्फ़ सक्रिय उपयोगकर्ताओं के लिए इवेंट फ़िल्टर करने हों. Active उपयोगकर्ता फ़िल्टर, इस लेख के दायरे से बाहर है.
WITH ActiveUsers AS
(
SELECT
user_pseudo_id
FROM
`bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
WHERE
<implement active user filter logic>
)
SELECT
HLL_COUNT.EXTRACT(HLL_COUNT.INIT(user_pseudo_id, 14)) AS active_user_count,
FROM ActiveUsers
सेशन
ga_session_id
इवेंट पैरामीटर,
एक उपयोगकर्ता के तौर पर उपलब्ध है. user_pseudo_id
और ga_session_id
का कॉम्बिनेशन होगा
यूनीक सेशन के लिए, आपके पूरे डेटासेट में यूनीक होता है. यह
Google Analytics 4 प्रॉपर्टी के लिए सेशन की गिनती के सेशन. सेशन के लिए, precision
12 साल है.
SELECT
HLL_COUNT.EXTRACT(
HLL_COUNT.INIT(
CONCAT(
user_pseudo_id,
(SELECT `value` FROM UNNEST(event_params) WHERE key = 'ga_session_id' LIMIT 1).int_value),
12)) AS session_count,
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
आप इस ब्लॉग पोस्ट में बुनियादी क्वेरी और BigQuery इवेंट से ज़्यादा इनसाइट पाने के लिए, ऐडवांस क्वेरी के उदाहरण अपनी Google Analytics 4 प्रॉपर्टी के लिए डेटा एक्सपोर्ट करें. अगर आपकी प्रॉपर्टी इवेंट डेटा का एक बड़ा हिस्सा है, तो HLL++ फ़ंक्शन का इस्तेमाल इन कामों के लिए भी किया जा सकता है BigQuery में आम तौर पर इस्तेमाल की जाने वाली अन्य मेट्रिक की एलिमेंट की संख्या का अनुमान लगाया जाता है क्वेरी. HLL++ के बारे में ज़्यादा जानने के साथ-साथ यह भी जानें कि एलिमेंट की संख्या की गिनती करना महंगा क्यों है बड़े डेटासेट के लिए, क्लाउड ब्लॉग पर ज़्यादा जानकारी वाली ब्लॉग पोस्ट पढ़ें: बड़े पैमाने पर डेटासेट में अलग-अलग गिनती को तेज़ी से करने के लिए HLL++ का इस्तेमाल करना.