הפונקציה PLACES_COUNT_PER_TYPE_V2 מחזירה טבלה ב-BigQuery שמכילה ספירות של מקומות ומזהים לדוגמה של מקומות, עם פירוט לפי סוג המקום, עבור כמה מיקומים גיאוגרפיים שמוזנים כקלט. הפונקציה הזו מיועדת לביצוע יעיל של עיבוד ברצף (batch processing) על ידי קבלת פרמטר של טבלת קלט של מיקומים גיאוגרפיים. אתם מספקים את המיקומים הגיאוגרפיים באמצעות טבלת קלט ומציינים את סוגי המקומות כמערך.
תחביר
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 שמכילה את האזורים הגיאוגרפיים לניתוח. הטבלה הזו חייבת לכלול את העמודות הבאות: -
target_types(ARRAY<STRING>): מערך של מחרוזות של סוגי מקומות שרוצים לקבל את המספרים שלהם. מקומות ייספרו אם הם תואמים לכל אחד מהסוגים שמופיעים במערךtypesשלהם, ולא רק לסוגprimary_type. -
filters(JSON): אובייקט JSON שמכיל צמדי מפתח-ערך לסינון נוסף של המקומות. מידע על פרמטרים של מסננים
סכימת טבלת הפלט
הפונקציה PLACES_COUNT_PER_TYPE_V2 מחזירה טבלה עם העמודות הבאות:
| שם העמודה | סוג הנתונים | תיאור |
|---|---|---|
geo_id |
STRING | המזהה הייחודי של המיקום הגיאוגרפי של הקלט, מתוך הטבלה input_geographies. |
input_geography |
GEOGRAPHY | אובייקט ה-GEOGRAPHY המקורי מהטבלה input_geographies. |
place_type |
STRING | סוג המקום ממערך target_types שהשורה הזו מייצגת. |
place_count |
INTEGER | מספר המקומות שתואמים לplace_type ולמסננים אחרים בתוך האזור הגיאוגרפי או בקרבתו. |
sample_place_ids |
ARRAY<STRING> | מערך של עד 250 מזהי מקומות שתואמים לקריטריונים של הסוג והמיקום הגיאוגרפי הזה. |
הפלט יכיל שורה לכל שילוב של geo_id ו-place_type
שצוין במערך target_types, גם אם הספירה היא אפס.
איך זה עובד
הפונקציה מעבדת כל מיקום גיאוגרפי שמופיע בטבלה input_geographies.
לכל אזור גיאוגרפי, המערכת סופרת את המקומות שתואמים לכל אחד מהסוגים שמופיעים במערך target_types וגם עומדים בכל התנאים באובייקט ה-JSON filters. התוצאות נצברות ומפורטות לפי כל geo_id ולפי כל סוג ב-target_types.
דוגמה: ספירת סוגים שונים של מסעדות במחוזות של ניו יורק
בדוגמה הזו נוצר טבלה של ספירות עבור סוגי המקומות restaurant, cafe ו-bar בשלושה מחוזות בעיר ניו יורק.
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'] ) );
התוצאה תהיה טבלה עם 9 שורות (3 מחוזות * 3 סוגים). בכל שורה יופיע מספר המוסדות מסוג 'מסעדה', 'בית קפה' או 'בר' בכל מחוז. אפשר גם לכלול מזהים לדוגמה של מקומות אם מוסיפים אותם להצהרת 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 ואת יכולות העיבוד המקבילי בכל האזורים הגיאוגרפיים שסופקו בו-זמנית. התוצאה היא שיפורים משמעותיים בביצועים ושיפורים ביכולת ההתאמה לגודל כשמדובר במספר גדול של מיקומים גיאוגרפיים. - Zero Counts Included: מחזירה שורות עם ספירות של 0 לסוגים שלא נמצאו באזור ספציפי באצווה, כדי להבטיח קבוצת תוצאות מלאה לכל השילובים של סוג ומיקום גיאוגרפי.