ניתוח יומנים באמצעות BigQuery

BigQuery הוא כלי רב-עוצמה לביצוע ניתוח נתונים. אפשר להשתמש בו כדי לאחסן יומנים לטווח ארוך יותר ולבצע שאילתות דמויות SQL על הנתונים. כדי להשתמש ב-BigQuery לצורך ניתוח, צריך לנתב את היומנים ל-BigQuery באופן מפורש, כפי שמתואר בקטע הבא.

ניתוב יומנים אל BigQuery

  1. ב-Logs Explorer, יוצרים מסנן שמבודד את היומנים של Fleet Engine: Fleetengine.googleapis.com/Fleet.
  2. בחלונית Query Results, לוחצים על התפריט Actions או More Actions ובוחרים באפשרות Create Sink.
  3. מציינים שם של בור נתונים (למשל, FleetEngineLogsSink). לוחצים על Next.
  4. בקטע Sink Destination, בוחרים באפשרות BigQuery dataset.
  5. בקטע Select BigQuery dataset (בחירת מערך נתונים ב-BigQuery), בוחרים באפשרות Create new BigQuery dataset (יצירת מערך נתונים חדש ב-BigQuery).
  6. בתיבת הדו-שיח Create dataset, מזינים Dataset ID.
  7. משאירים את כל השדות האחרים כפי שהם ולוחצים על Create dataset.
  8. מסמנים את התיבה שימוש בטבלאות מחולקות. לוחצים על Next.
  9. משאירים את ההגדרות Choose logs to include in sink ו-Choose logs to filter out of sink כפי שהן.
  10. לוחצים על 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.
  • רכב C השלים 12 עצירות בשעה 13 ו-9 עצירות בשעה 14.

אפשר גם לעיין במאמר הצגת יומנים שמנותבים ל-BigQuery.

שילוב BigQuery עם Looker Studio

אפשר לשלב את BigQuery עם כלי בינה עסקית כדי ליצור מרכזי בקרה לניתוח נתונים עסקיים. Looker Studio

בדוגמה הבאה מוסבר איך ליצור לוח בקרה ב-Looker Studio להצגת נסיעות ותנועות של כלי רכב במפה.

  1. פותחים מרכז בקרה חדש ב-Looker Studio ובוחרים ב-BigQuery כחיבור הנתונים.
  2. בוחרים באפשרות Custom Query ומזינים או בוחרים באופן ידני את פרויקט Cloud שאליו צריך לחייב את העלויות.
  3. מזינים בתיבת השאילתות אחת מהשאילתות הבאות.

שאילתה לדוגמה לגבי נסיעות על פי דרישה

    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`
  1. בוחרים באפשרות Chart Type as Bubble Map (סוג התרשים כמפת בועות) ואז בוחרים בשדה location (מיקום).
  2. בוחרים באפשרות הוספת שדה.
  3. נותנים שם לשדה ומוסיפים את הנוסחה הבאה: CONCAT(lat, ",", lng).
  4. מגדירים את הסוג כ-Geo->Latitude, Longitude.
  5. אפשר להוסיף לוח בקרה כדי לסנן נתונים. לדוגמה, בוחרים את המסנן Date-range.
  6. עורכים את התיבה של טווח התאריכים כדי לבחור טווח תאריכים שמוגדר כברירת מחדל.
  7. אפשר להוסיף עוד אמצעי בקרה לרשימת הנפתח של vehicle_id. בעזרת אמצעי הבקרה האלה תוכלו לראות את התנועה של הרכב או את התנועה במהלך הנסיעה.

פלט לדוגמה ב-Looker Studio:

פלט לדוגמה ב-Looker Studio

המאמרים הבאים

כדי לעמוד בדרישות של מדיניות שמירת הנתונים, אפשר לעיין במאמר הגבלת שמירת יומנים.