क्वेरी की गई लोकप्रिय जगहों की संख्या

PLACES_COUNT_V2 फ़ंक्शन, BigQuery टेबल दिखाता है. इसमें, तय किए गए फ़िल्टर के आधार पर, एक से ज़्यादा इनपुट वाले इलाकों के लिए, जगहों की संख्या और Place ID के सैंपल शामिल होते हैं. इस फ़ंक्शन को बैच प्रोसेसिंग के लिए डिज़ाइन किया गया है. यह इलाकों की इनपुट टेबल पैरामीटर स्वीकार करता है. इससे, इनपुट टेबल के ज़रिए इलाकों की जानकारी देकर, एक ही क्वेरी में दिलचस्पी के कई इलाकों का विश्लेषण किया जा सकता है.

सिंटैक्स

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

पैरामीटर

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

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

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

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

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

यह फ़ंक्शन, input_geographies टेबल में मौजूद हर लाइन को प्रोसेस करता है. यह हर geo ऑब्जेक्ट के लिए, उन जगहों की संख्या गिनता है जो उस इलाके में मौजूद हैं. अगर geo एक पॉइंट है और filters में रेडियस तय किया गया है, तो यह geography_radius में मौजूद जगहों की संख्या गिनता है. इस संख्या में सिर्फ़ वे जगहें शामिल होती हैं जो filters JSON ऑब्जेक्ट में तय की गई सभी शर्तों को पूरा करती हैं.

उदाहरण: न्यूयॉर्क सिटी के तीन काउंटी में मौजूद रेस्टोरेंट की संख्या का पता लगाना

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

इस उदाहरण में, अमेरिका के जनगणना ब्यूरो के डेटा से जुड़े BigQuery के सार्वजनिक डेटासेट का इस्तेमाल करके, न्यूयॉर्क सिटी के तीन काउंटी की सीमाएं हासिल की गई हैं. ये काउंटी हैं: "क्वींस", "किंग्स" और "न्यूयॉर्क". हर काउंटी की सीमाएं, county_geom कॉलम में शामिल हैं.

सबसे पहले, हम एक अस्थायी टेबल new_york_counties बनाते हैं. इसमें, हर काउंटी के लिए geo_id और आसान बनाया गया GEOGRAPHY शामिल होता है.

SELECT *
FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_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")
  ),
  JSON_OBJECT(
      'types', ["restaurant"],
      'business_status', ['OPERATIONAL']
  )
);

जवाब वाली टेबल में तीन लाइनें होंगी. हर लाइन में एक काउंटी की जानकारी दिखेगी. इसमें, चालू रेस्टोरेंट के geo_id, input_geography, place_count, और sample_place_ids दिखेंगे.

न्यूयॉर्क की काउंटी में, जगहों की गिनती करने वाले फ़ंक्शन के नतीजे.

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

PLACES_COUNT_V2 , PLACES_COUNT और PLACES_COUNT_PER_GEO, दोनों के मुकाबले ज़्यादा फ़ायदेमंद है:

  • बैच प्रोसेसिंग: टेबल में एक से ज़्यादा इलाकों की जानकारी देकर, एक ही क्वेरी में हज़ारों कस्टम इलाकों का विश्लेषण किया जा सकता है.
  • परफ़ॉर्मेंस: यह BigQuery के ऑप्टिमाइज़ किए गए जियोस्पेशल जॉइन का इस्तेमाल करता है. इससे बड़े डेटासेट के लिए, क्वेरी की स्पीड काफ़ी बढ़ जाती है.
  • स्केलेबिलिटी: इसे इनपुट वाले कई इलाकों को प्रोसेस करने के लिए डिज़ाइन किया गया है. इसमें, JSON के एक पैरामीटर के साइज़ की सीमा लागू नहीं होती.
  • शून्य संख्याएं शामिल हैं: PLACES_COUNT_V2, इनपुट टेबल में दिए गए हर geo_id के लिए एक लाइन दिखाता है. अगर किसी इलाके के लिए, तय की गई शर्तों के मुताबिक कोई जगह नहीं मिलती है, तो place_count की वैल्यू 0 होगी. इससे आपको हर इनपुट वाले इलाके के लिए नतीजा मिलता है. इसलिए, यह देखा जा सकता है कि किन इलाकों में कोई जगह मौजूद नहीं है.
  • पिछली जानकारी के स्नैपशॉट: किसी खास महीने के लिए, जगहों की संख्या का डेटा पाने के लिए, snapshot_date फ़िल्टर का इस्तेमाल करें. यह फ़िल्टर, ज़रूरी नहीं है.

उदाहरण: पिछले महीने के लोकप्रिय जगह की संख्या के बारे में क्वेरी करना

इस उदाहरण में, snapshot_date पैरामीटर का इस्तेमाल करके, खास जगहों के लिए लोकप्रिय जगहों की पिछली संख्या के बारे में क्वेरी करने का तरीका बताया गया है. इसमें, उन जगहों के नतीजों को फ़िल्टर किया गया है जहां ईवी चार्जिंग की सुविधाएं उपलब्ध हैं. इसके लिए, max_ev_max_charge_rate_kw के साथ-साथ, regular_opening_hours तय किए गए हैं.

SELECT *
FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_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")
  ),
  JSON_OBJECT(
    'geography_radius', 5000,
    'snapshot_date', '2026-01', -- Target snapshot month (YYYY-MM)
    'max_ev_max_charge_rate_kw', 30.0, -- Filter by EV charge rate in kW
    'regular_opening_hours', JSON_OBJECT(
      'monday', [JSON_OBJECT('start_time', '09:00', 'end_time', '12:00')]
    )
  )
);