הפונקציה PLACES_COUNT_V2 מחזירה טבלה ב-BigQuery שמכילה ספירות של מקומות ומזהים לדוגמה של מקומות עבור כמה אזורים גיאוגרפיים שמוגדרים כקלט, על סמך מסננים שצוינו.
הפונקציה הזו מיועדת לעיבוד ברצף (batch processing) יעיל של נתונים. היא מקבלת פרמטר של טבלת קלט של אזורים גיאוגרפיים, וכך מאפשרת לכם לנתח אזורים רבים שמעניינים אתכם בשאילתה אחת, על ידי ציון האזורים הגיאוגרפיים דרך טבלת קלט.
תחביר
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 שמכילה את האזורים הגיאוגרפיים לניתוח. הטבלה הזו חייבת לכלול את העמודות הבאות: -
filters(JSON): אובייקט JSON שמכיל צמדי מפתח/ערך לסינון המקומות. מידע על פרמטרים של מסננים
סכימת טבלת הפלט
הפונקציה PLACES_COUNT_V2 מחזירה טבלה עם העמודות הבאות:
| שם העמודה | סוג הנתונים | תיאור |
|---|---|---|
geo_id |
STRING | המזהה הייחודי של המיקום הגיאוגרפי של הקלט, מתוך הטבלה input_geographies. |
input_geography |
GEOGRAPHY | אובייקט ה-GEOGRAPHY המקורי מהטבלה input_geographies. |
place_count |
INTEGER | המספר הכולל של מקומות שתואמים למסננים. |
sample_place_ids |
ARRAY<STRING> | מערך של עד 250 מזהי מקומות שתואמים לקריטריונים. |
איך זה עובד
הפונקציה מעבדת כל שורה בטבלה input_geographies. לכל אובייקט, הפונקציה סופרת את מספר המקומות שנמצאים בתוך האזור הגיאוגרפי (או בתוך geography_radius אם geo הוא נקודה והרדיוס מוגדר ב-filters). הספירה כוללת רק את המקומות שתואמים לכל התנאים שמוגדרים באובייקט ה-JSON filters.geo
דוגמה: חישוב מספר המסעדות בשלושה מחוזות בעיר ניו יורק
בדוגמה הזו נוצרת טבלה עם מספר המסעדות הפעילות בשלושה מחוזות בעיר ניו יורק.
בדוגמה הזו נעשה שימוש בנתונים של לשכת מפקד האוכלוסין של ארצות הברית, שהם מערך נתונים ציבורי ב-BigQuery, כדי לקבל את הגבולות של שלושה מחוזות בעיר ניו יורק: Queens, Kings ו-New York. הגבולות של כל מחוז מופיעים בעמודה 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. כך תוכלו לראות איפה אין מקומות, כי תקבלו תוצאה לכל אזור קלט.