วิเคราะห์บันทึกด้วย BigQuery

BigQuery เป็นเครื่องมือที่มีประสิทธิภาพในการวิเคราะห์ คุณใช้ API เพื่อจัดเก็บบันทึกระยะยาวและค้นหาข้อมูลในลักษณะเดียวกับ SQL ได้ หากต้องการใช้ BigQuery สำหรับการวิเคราะห์ คุณต้องกำหนดเส้นทางบันทึกไปยัง BigQuery อย่างชัดแจ้งตามที่อธิบายไว้ในส่วนถัดไป

กำหนดเส้นทางบันทึกไปยัง BigQuery

  1. ใน Logs Explorer ให้สร้างตัวกรองที่แยกบันทึก Fleet Engine: Fleetengine.googleapis.com/Fleet
  2. ในแผงผลการค้นหา ให้คลิกเมนูการดําเนินการหรือการดําเนินการเพิ่มเติม แล้วเลือกสร้างซิงค์
  3. ระบุชื่อซิงก์ (เช่น FleetEngineLogsSink) คลิกถัดไป
  4. ในปลายทางที่ส่งออก ให้เลือกชุดข้อมูล BigQuery
  5. ในเลือกชุดข้อมูล BigQuery ให้เลือกสร้างชุดข้อมูล BigQuery ใหม่
  6. ป้อนรหัสชุดข้อมูลในกล่องโต้ตอบสร้างชุดข้อมูล
  7. ปล่อยการตั้งค่าอื่นๆ ไว้เหมือนเดิม แล้วคลิกสร้างชุดข้อมูล
  8. เลือกใช้ตารางที่แบ่งพาร์ติชันแล้ว คลิกถัดไป
  9. ปล่อยเลือกบันทึกเพื่อรวมไว้ในซิงก์และเลือกบันทึกที่จะกรองออกจากซิงก์ไว้ตามเดิม
  10. คลิกสร้างซิงก์

ตอนนี้บันทึกของคุณควรเริ่มแสดงในชุดข้อมูล BigQuery ซึ่งอาจใช้เวลาสักครู่ โปรดดูหัวข้อกำหนดเส้นทางบันทึกไปยังปลายทางที่รองรับด้วย

เมื่อคุณกำลังกำหนดเส้นทางข้อมูลบันทึกไปยัง BigQuery จะมีการสร้างตารางหลายตารางภายใต้ชุดข้อมูล FleetEngineLogs โดยอัตโนมัติ 1 ตารางสำหรับบันทึกแต่ละประเภท ดังนี้

  • 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

จำนวนการแวะพักต่อยานพาหนะ 1 คันต่อชั่วโมง

    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
  • รถ B หยุดพัก 5 ครั้งในชั่วโมงที่ 11 และหยุดพัก 7 ครั้งในชั่วโมง 12
  • ยานพาหนะ ค หยุด 12 ครั้งในชั่วโมงที่ 13 และหยุด 9 ครั้งในชั่วโมงที่ 14

โปรดดูหัวข้อดูบันทึกที่ส่งไปยัง BigQuery ด้วย

ผสานรวม BigQuery กับ Looker Studio

คุณสามารถผสานรวม BigQuery เข้ากับเครื่องมือ Business Intelligence เพื่อสร้างแดชบอร์ดสำหรับการวิเคราะห์ธุรกิจ โปรดดู Looker Studio

ตัวอย่างต่อไปนี้แสดงวิธีสร้างแดชบอร์ด Looker Studio เพื่อแสดงภาพการเดินทางและการเคลื่อนที่ของยานพาหนะบนแผนที่

  1. เปิดแดชบอร์ด Looker Studio ใหม่ แล้วเลือก BigQuery เป็นการเชื่อมต่อข้อมูล
  2. เลือกการค้นหาที่กำหนดเอง แล้วป้อนหรือเลือกโปรเจ็กต์ที่อยู่ในระบบคลาวด์ด้วยตนเองเพื่อเรียกเก็บเงิน
  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. เลือกประเภทแผนภูมิเป็นแผนที่ลูกโป่ง แล้วเลือกช่องสถานที่ตั้ง
  2. เลือกเพิ่มช่อง
  3. ตั้งชื่อช่องและเพิ่มสูตรต่อไปนี้ CONCAT(lat, ",", lng)
  4. ตั้งค่าประเภทเป็น Geo->Latitude, Longitude
  5. คุณสามารถเพิ่มการควบคุมลงในหน้าแดชบอร์ดเพื่อกรองข้อมูลได้ เช่น เลือกตัวกรองช่วงวันที่
  6. แก้ไขช่องช่วงวันที่เพื่อเลือกช่วงวันที่เริ่มต้น
  7. คุณสามารถเพิ่มการควบคุมรายการแบบเลื่อนลงเพิ่มเติมสำหรับ vehicle_id ตัวควบคุมเหล่านี้จะช่วยให้คุณเห็นภาพการเคลื่อนที่ของยานพาหนะหรือการเคลื่อนไหวภายในการเดินทาง

ตัวอย่างเอาต์พุตของ Looker Studio:

ตัวอย่างเอาต์พุตของ Looker Studio

ขั้นตอนถัดไป

หากต้องการปฏิบัติตามนโยบายการเก็บรักษาข้อมูล โปรดดูหัวข้อจำกัดการเก็บรักษาบันทึก