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

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

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

  1. ใน Logs Explorer ให้สร้างตัวกรองที่ แยกบันทึกของ Fleet Engine: Fleetengine.googleapis.com/Fleet
  2. ในแผงผลลัพธ์ของคำค้นหา ให้คลิกเมนูการดำเนินการหรือการดำเนินการเพิ่มเติม แล้วเลือกสร้าง Sink
  3. ระบุชื่อ Sink (เช่น FleetEngineLogsSink) คลิกถัดไป
  4. ในปลายทางของ Sink ให้เลือกชุดข้อมูล BigQuery
  5. ในเลือกชุดข้อมูล BigQuery ให้เลือกสร้างชุดข้อมูล BigQuery ใหม่
  6. ในกล่องโต้ตอบสร้างชุดข้อมูล ให้ป้อนรหัสชุดข้อมูล
  7. ปล่อยให้ทุกอย่างเป็นไปตามเดิม แล้วคลิกสร้างชุดข้อมูล
  8. เลือกใช้ตารางที่แบ่งพาร์ติชันแล้ว คลิกถัดไป
  9. ปล่อยให้เลือกบันทึกเพื่อรวมไว้ในซิงก์และเลือกบันทึกที่จะกรองออกจาก ซิงก์ตามเดิม
  10. คลิกสร้าง 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
  • รถ B แวะ 5 ครั้งในชั่วโมงที่ 11 และ 7 ครั้งในชั่วโมงที่ 12
  • รถคันที่ 3 แวะจอด 12 ครั้งในชั่วโมงที่ 13 และ 9 ครั้งในชั่วโมงที่ 14

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

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

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

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

  1. เปิดแดชบอร์ด Looker Studio ใหม่ แล้วเลือก BigQuery เป็นการเชื่อมต่อข้อมูล
  2. เลือกคําค้นหาที่กําหนดเอง แล้วป้อนหรือเลือกโปรเจ็กต์ 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`

ตัวอย่างการค้นหาของ Scheduled Tasks

    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

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

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