BigQuery הוא כלי רב עוצמה לביצוע ניתוחים. אפשר להשתמש בו כדי לאחסן יומנים לטווח ארוך ולהריץ שאילתות דמויות SQL על הנתונים. כדי להשתמש ב-BigQuery לניתוח, צריך להפנות את היומנים ל-BigQuery באופן מפורש, כמו שמתואר בקטע הבא.
העברת יומנים ל-BigQuery
- ב-Logs Explorer, יוצרים מסנן שמבודד את היומנים של Fleet Engine:
Fleetengine.googleapis.com/Fleet
. - בחלונית Query Results, לוחצים על התפריט Actions או More Actions ובוחרים באפשרות Create Sink.
- מציינים שם ליעד (לדוגמה, FleetEngineLogsSink). לוחצים על Next.
- בSink Destination (יעד להעברה), בוחרים באפשרות BigQuery dataset (מערך נתונים ב-BigQuery).
- בקטע בחירת מערך נתונים ב-BigQuery, בוחרים באפשרות יצירת מערך נתונים חדש ב-BigQuery.
- בתיבת הדו-שיח Create dataset, מזינים Dataset ID.
- משאירים את כל שאר ההגדרות כמו שהן ולוחצים על יצירת מערך נתונים.
- מסמנים את התיבה Use partitioned tables (שימוש בטבלאות עם חלוקה למחיצות). לוחצים על Next.
- משאירים את האפשרויות Choose logs to include in sink ו-Choose logs to filter out of sink כמו שהן.
- לוחצים על Create Sink.
היומנים אמורים להתחיל להתעדכן במערך הנתונים ב-BigQuery, וזה יכול לקחת זמן. אפשר גם לעיין במאמר ניתוב יומנים ליעדים נתמכים.
אחרי שמגדירים ניתוב של נתוני יומן ל-BigQuery, כמה טבלאות במערך הנתונים FleetEngineLogs מתמלאות באופן אוטומטי, אחת לכל סוג יומן:
- CreateVehicle
- GetVehicle
- ListVehicles
- SearchVehicles
- UpdateVehicle
- CreateTrip
- GetTrip
- UpdateTrip
- ListTrips
שמות הטבלאות נקבעים לפי התבנית הבאה:
project_id.data_set.log_name
לדוגמה, אם שם הפרויקט הוא test-project ושם מערך הנתונים הוא FleetEngineLogs, שם הטבלה CreateTrip
יהיה:
test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip
דוגמאות לשאילתות ב-BigQuery
בדוגמאות הבאות לשאילתות אפשר לראות איך מחפשים רשומות שונות ביומן ב-BigQuery.
מספר היומנים של CreateTrips שמקובצים לפי שעה
SELECT TIMESTAMP_TRUNC(timestamp, HOUR) as hour,
count(*) as num_trips_created
FROM
`ProjectId.FleetEngineLogs.fleetengine_googleapis_com_create_trip`
GROUP BY hour
ORDER by hour
מספר העצירות לכל רכב בשעה
SELECT
jsonpayload_v1_updatevehiclelog.request.vehicleid AS vehicle,
TIMESTAMP_TRUNC(timestamp, HOUR) AS hour,
COUNT(*) AS num_stops
FROM
`ProjectId.FleetEngineLogs.fleetengine_googleapis_com_update__vehicle`
WHERE
ARRAY_LENGTH(jsonpayload_v1_updatevehiclelog.request.vehicle.remainingvehiclejourneysegments) > 0
AND jsonpayload_v1_updatevehiclelog.request.vehicle.remainingvehiclejourneysegments[
OFFSET
(0)].stop.state = 'VEHICLE_STOP_STATE_LOG_ARRIVED'
GROUP BY
1,
2
ORDER BY
2
לדוגמה, השאילתה הזו יכולה להראות לכם שבשעה האחרונה:
- רכב א' השלים 10 עצירות בשעה 12 ו-8 עצירות בשעה 13.
- רכב ב' השלים 5 עצירות בשעה 11 ו-7 עצירות בשעה 12.
- רכב ג' השלים 12 עצירות בשעה 13 ו-9 עצירות בשעה 14.
אפשר גם לעיין במאמר בנושא הצגת יומנים שמועברים ל-BigQuery.
שילוב של BigQuery עם Looker Studio
אפשר לשלב את BigQuery עם כלי בינה עסקית (BI) כדי ליצור לוחות בקרה לניתוח עסקי. מידע נוסף על Looker Studio
בדוגמה הבאה מוסבר איך ליצור לוח בקרה ב-Looker Studio כדי להציג באופן חזותי נסיעות ותנועות של כלי רכב במפה.
- מפעילים לוח בקרה חדש של Looker Studio ובוחרים באפשרות BigQuery כחיבור הנתונים.
- בוחרים באפשרות שאילתה בהתאמה אישית ומזינים ידנית את פרויקט Cloud שאליו צריך לחייב את העלות, או בוחרים אותו.
- מזינים אחת מהשאילתות הבאות בתיבת השאילתה.
שאילתה לדוגמה של נסיעות לפי דרישה
SELECT
timestamp,
labels.vehicle_id,
jsonpayload_v1_updatevehiclelog.response.lastlocation.location.latitude AS lat,
jsonpayload_v1_updatevehiclelog.response.lastlocation.location.longitude AS lng
FROM
`ProjectId.TableName.fleetengine_googleapis_com_update_vehicle`
שאילתה לדוגמה של משימות מתוזמנות
SELECT
labels.delivery_vehicle_id,
jsonpayload_v1_updatedeliveryvehiclelog.response.lastlocation.rawlocation.longitude as lat, jsonpayload_v1_updatedeliveryvehiclelog.response.lastlocation.rawlocation.latitude as lng
FROM `ProjectID.TableName.fleetengine_googleapis_com_update_delivery_vehicle`
- בוחרים באפשרות Chart Type as Bubble Map (סוג התרשים הוא מפת בועות) ואז בוחרים בשדה location (מיקום).
- לוחצים על הוספת שדה.
- נותנים שם לשדה ומוסיפים את הנוסחה הבאה:
CONCAT(lat, ",", lng)
. - מגדירים את הסוג Geo->Latitude, Longitude.
- אפשר להוסיף אמצעי בקרה ללוח הבקרה כדי לסנן את הנתונים. לדוגמה, בוחרים במסנן Date-range.
- עורכים את התיבה 'טווח תאריכים' כדי לבחור טווח תאריכים שיוגדר כברירת מחדל.
- אפשר להוסיף עוד אמצעי בקרה של תפריט נפתח בשביל
vehicle_id
. באמצעות אמצעי הבקרה האלה, אפשר לראות את תנועת הרכב או את התנועה במהלך הנסיעה.
פלט לדוגמה ב-Looker Studio:
המאמרים הבאים
כדי לעמוד בדרישות של מדיניות שמירת נתונים, אפשר לקרוא את המאמר בנושא הגבלת שמירת יומנים.