PLACES_COUNT_V2 फ़ंक्शन

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

सिंटैक्स

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

पैरामीटर

  • PROJECT_NAME: यह आपके Google Cloud प्रोजेक्ट का नाम है.
  • LINKED_DATASET_NAME: यह BigQuery डेटासेट का नाम है, जिसमें Places Insights फ़ंक्शन शामिल हैं. उदाहरण के लिए, 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 होगी. इससे यह पक्का होता है कि आपको हर इनपुट एरिया के लिए एक नतीजा मिले, ताकि आपको पता चल सके कि कौनसी जगहें मौजूद नहीं हैं.