PLACES_COUNT_PER_TYPE_V2 फ़ंक्शन

PLACES_COUNT_PER_TYPE_V2 फ़ंक्शन, BigQuery टेबल दिखाता है. इसमें कई इनपुट लोकेशन के लिए, जगह के टाइप के हिसाब से जगह की संख्या और जगह के आईडी के सैंपल होते हैं. इस फ़ंक्शन को, एक साथ कई अनुरोधों को प्रोसेस करने के लिए डिज़ाइन किया गया है. इसके लिए, यह भौगोलिक क्षेत्रों के इनपुट टेबल पैरामीटर को स्वीकार करता है. इनपुट टेबल के ज़रिए, भौगोलिक क्षेत्रों की जानकारी दी जाती है. साथ ही, जगह के टाइप को एक ऐरे के तौर पर तय किया जाता है.

सिंटैक्स

SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_PER_TYPE_V2`(
  TABLE input_geographies,
  target_types,
  filters
)

पैरामीटर

  • PROJECT_NAME: यह आपके Google Cloud प्रोजेक्ट का नाम है.
  • LINKED_DATASET_NAME: यह BigQuery डेटासेट का नाम है, जिसमें Places Insights फ़ंक्शन शामिल हैं. उदाहरण के लिए, places_insights___us.
  • input_geographies: यह एक BigQuery टेबल है. इसमें विश्लेषण के लिए भौगोलिक डेटा होता है. इस टेबल में ये कॉलम ज़रूर शामिल होने चाहिए:
    • geo_id (STRING): हर देश/इलाके के लिए यूनीक आइडेंटिफ़ायर.
    • geo (GEOGRAPHY): यह BigQuery GEOGRAPHY ऑब्जेक्ट है, जो इलाके को दिखाता है. यह कोई पॉइंट, पॉलीगॉन या अन्य जियोग्राफ़ी टाइप हो सकता है.
  • target_types (ARRAY<STRING>): यह जगह के टाइप वाली स्ट्रिंग का एक ऐसा कलेक्शन होता है जिसके लिए आपको गिनती चाहिए. जगहों को तब गिना जाएगा, जब वे types ऐरे में दी गई किसी भी कैटगरी से मेल खाती हों. सिर्फ़ primary_type से मेल खाने पर उन्हें नहीं गिना जाएगा.
  • filters (JSON): यह एक JSON ऑब्जेक्ट है. इसमें जगहों को ज़्यादा फ़िल्टर करने के लिए, की-वैल्यू पेयर शामिल होते हैं. फ़िल्टर पैरामीटर देखें.

आउटपुट टेबल स्कीमा

PLACES_COUNT_PER_TYPE_V2 फ़ंक्शन, नीचे दिए गए कॉलम वाली टेबल दिखाता है:

कॉलम का नाम डेटा टाइप ब्यौरा
geo_id STRING input_geographies टेबल से, इनपुट किए गए इलाके के लिए यूनीक आइडेंटिफ़ायर.
input_geography GEOGRAPHY input_geographies टेबल का ओरिजनल GEOGRAPHY ऑब्जेक्ट.
place_type STRING यह लाइन, target_types ऐरे में मौजूद जगह के टाइप को दिखाती है.
place_count INTEGER भूगोल के अंदर या उसके आस-पास, place_type और अन्य फ़िल्टर से मेल खाने वाली जगहों की संख्या.
sample_place_ids ARRAY<STRING> इस तरह के और भौगोलिक इलाके के लिए, शर्तों को पूरा करने वाले ज़्यादा से ज़्यादा 250 प्लेस आईडी का कलेक्शन.

आउटपुट में, target_types ऐरे में बताए गए geo_id और place_type के हर कॉम्बिनेशन के लिए एक लाइन शामिल होगी. भले ही, गिनती शून्य हो.

यह कैसे काम करता है

यह फ़ंक्शन, input_geographies टेबल में दिए गए हर देश/इलाके को प्रोसेस करता है. यह हर इलाके के लिए, उन जगहों की गिनती करता है जो target_types ऐरे में दिए गए टाइप में से किसी भी टाइप से मेल खाती हैं. साथ ही, filters JSON ऑब्जेक्ट में दी गई सभी शर्तों को पूरा करती हैं. नतीजों को एग्रीगेट किया जाता है और हर geo_id और target_types में मौजूद हर टाइप के हिसाब से बांटा जाता है.

उदाहरण: न्यूयॉर्क शहर के अलग-अलग काउंटी में मौजूद भोजनालयों की गिनती करें

इस उदाहरण में, न्यूयॉर्क सिटी की तीन काउंटी में "रेस्टोरेंट", "कैफ़े", और "बार" टाइप की जगहों की संख्या वाली टेबल जनरेट की गई है.

SELECT geo_id, input_geography, place_type, place_count
FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_TYPE_V2`(
  (
    SELECT county_name AS geo_id,
           ST_SIMPLIFY(county_geom, 100) AS geo
    FROM
      `bigquery-public-data.geo_us_boundaries.counties`
    WHERE
      state_fips_code = "36"  -- New York State
      AND county_name IN ("Queens", "Kings", "New York")
  ),
  ['restaurant', 'cafe', 'bar'],  -- target_types
  JSON_OBJECT(
      'business_status', ['OPERATIONAL']
  )
);

इसके बाद, आपको नौ लाइनों वाली एक टेबल दिखेगी (तीन काउंटी * तीन टाइप). हर लाइन में, हर काउंटी में मौजूद "रेस्टोरेंट", "कैफ़े" या "बार" की संख्या दिखेगी. अगर आपने इसे SELECT स्टेटमेंट में जोड़ा है, तो सैंपल प्लेस आईडी भी शामिल किए जा सकते हैं.

न्यूयॉर्क की काउंटी में, हर टाइप के हिसाब से जगहों की संख्या के लिए नतीजे.

PLACES_COUNT_PER_TYPE_V2 का इस्तेमाल करने के फ़ायदे

PLACES_COUNT_PER_TYPE_V2 के कई अहम फ़ायदे हैं. खास तौर पर, जब इसकी तुलना पुराने PLACES_COUNT_PER_TYPE फ़ंक्शन से की जाती है:

  • भौगोलिक जगहों की बैच प्रोसेसिंग: PLACES_COUNT_PER_TYPE एक बार में एक भौगोलिक जगह को प्रोसेस करता है. वहीं, PLACES_COUNT_PER_TYPE_V2 इनपुट के तौर पर TABLE भौगोलिक जगहों को स्वीकार करता है. इससे आपको एक ही क्वेरी में, कई फ़ंक्शन कॉल करने के बजाय, अलग-अलग जगहों (पॉइंट, पॉलीगॉन) के हिसाब से टाइप-स्पेसिफ़िक गिनती का विश्लेषण करने और उसे पाने में मदद मिलती है.
  • बेहतर परफ़ॉर्मेंस और स्केलेबिलिटी: टेबल इनपुट लेकर, PLACES_COUNT_PER_TYPE_V2 एक साथ सभी उपलब्ध भौगोलिक क्षेत्रों में, BigQuery के ऑप्टिमाइज़ किए गए जियोस्पेशल जॉइन और पैरलल प्रोसेसिंग की सुविधाओं का फ़ायदा ले सकता है. इससे परफ़ॉर्मेंस में काफ़ी सुधार होता है. साथ ही, कई देशों/इलाकों के लिए कैंपेन मैनेज करते समय, बेहतर तरीके से स्केल किया जा सकता है.
  • शून्य संख्याएं शामिल हैं: यह उन लाइनों को दिखाता है जिनमें बैच में मौजूद किसी खास इलाके में नहीं मिले टाइप के लिए, संख्याएं 0 हैं. इससे यह पक्का होता है कि टाइप और भूगोल के सभी कॉम्बिनेशन के लिए, नतीजों का पूरा सेट मौजूद है.