ניתוח יומנים באמצעות 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. בקטע בחירת מערך נתונים ב-BigQuery, בוחרים באפשרות יצירת מערך נתונים חדש ב-BigQuery.
  6. בתיבת הדו-שיח Create dataset, מזינים מזהה למערך הנתונים בשדה Dataset ID.
  7. משאירים את שאר ההגדרות כמו שהן ולוחצים על Create dataset.
  8. מסמנים את האפשרות Use partitioned tables. לוחצים על 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.
  • רכב ג' ביצע 12 עצירות בשעה 13 ו-9 עצירות בשעה 14.

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

שילוב של BigQuery עם Looker Studio

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

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

  1. מפעילים מרכז בקרה חדש ב-Looker Studio ובוחרים באפשרות BigQuery כחיבור הנתונים.
  2. בוחרים באפשרות Custom Query ומזינים או בוחרים ידנית את פרויקט הענן שאליו צריך לחייב את השאילתה.
  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

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

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