Phân tích nhật ký bằng BigQuery

BigQuery là một công cụ mạnh mẽ để phân tích số liệu. Bạn có thể sử dụng đối tượng này để lưu trữ các nhật ký dài hạn và thực hiện các truy vấn giống như SQL đối với dữ liệu. Để sử dụng BigQuery cho việc phân tích, bạn phải định tuyến nhật ký của mình đến BigQuery một cách rõ ràng, như mô tả trong phần tiếp theo.

Định tuyến nhật ký đến BigQuery

  1. Trong Trình khám phá nhật ký, hãy tạo một bộ lọc tách riêng nhật ký của Công cụ của đội xe: Fleetengine.googleapis.com/Fleet.
  2. Trong ngăn Kết quả truy vấn, hãy nhấp vào trình đơn Thao tác hoặc Thao tác khác rồi chọn Tạo bồn lưu trữ dữ liệu.
  3. Chỉ định tên bồn lưu trữ (ví dụ: FleetEngineLogsSink). Nhấp vào Tiếp theo.
  4. Trong Trang đích của bồn rửa, hãy chọn Tập dữ liệu BigQuery.
  5. Trong mục Chọn tập dữ liệu BigQuery, hãy chọn Tạo tập dữ liệu BigQuery mới.
  6. Trong hộp thoại Tạo tập dữ liệu, hãy nhập Mã nhận dạng tập dữ liệu.
  7. Giữ nguyên mọi thứ, rồi nhấp vào Tạo tập dữ liệu.
  8. Đánh dấu vào Sử dụng bảng phân vùng. Nhấp vào Tiếp theo.
  9. Giữ nguyên các tuỳ chọn Chọn nhật ký để đưa vào bồn lưu trữChọn nhật ký để lọc ra khỏi bồn lưu trữ.
  10. Nhấp vào Create Sink (Tạo Sink).

Bây giờ, nhật ký của bạn sẽ bắt đầu điền tập dữ liệu BigQuery. Quá trình này có thể mất một chút thời gian. Xem thêm phần Định tuyến nhật ký tới các đích đến được hỗ trợ.

Sau khi bạn định tuyến dữ liệu nhật ký đến BigQuery, một số bảng trong tập dữ liệu FleetEngineLogs sẽ tự động được điền, mỗi bảng tương ứng với một loại nhật ký:

  • CreateVehicle
  • GetVehicle
  • ListVehicles
  • SearchVehicles
  • UpdateVehicle
  • CreateTrip
  • GetTrip
  • UpdateTrip
  • ListTrips

Tên bảng sử dụng mẫu sau:

project_id.data_set.log_name

Ví dụ: nếu dự án có tên là test-project và tên tập dữ liệu là FleetEngineLogs, thì bảng CreateTrip sẽ có tên như sau:

test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip

Truy vấn mẫu cho BigQuery

Các truy vấn mẫu sau cho thấy cách bạn có thể tìm kiếm các mục nhập nhật ký khác nhau trong BigQuery.

Số nhật ký CreateTrips được nhóm theo giờ

    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

Số điểm dừng của mỗi phương tiện mỗi giờ

    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

Ví dụ: truy vấn này có thể cho bạn biết rằng trong giờ vừa qua:

  • Xe A dừng hết 10 lần trong giờ 12 và 8 lần dừng trong giờ 13.
  • Xe B đã dừng lại 5 điểm trong giờ 11 và 7 điểm dừng trong giờ 12.
  • Xe C đã dừng lại 12 điểm trong giờ 13 và 9 điểm dừng trong giờ 14.

Hãy xem thêm bài viết Xem nhật ký được định tuyến đến BigQuery.

Tích hợp BigQuery với Looker Studio

Bạn có thể tích hợp BigQuery với các công cụ Business Intelligence để tạo trang tổng quan cho hoạt động phân tích doanh nghiệp. Hãy xem Looker Studio.

Ví dụ sau đây cho biết cách tạo trang tổng quan Looker Studio để trực quan hoá các chuyến đi và hoạt động di chuyển của phương tiện trên bản đồ.

  1. Chạy trang tổng quan Looker Studio mới rồi chọn BigQuery làm kết nối dữ liệu.
  2. Chọn Truy vấn tuỳ chỉnh rồi nhập hoặc chọn Dự án trên đám mây theo cách thủ công để tính phí.
  3. Nhập một trong các truy vấn sau vào hộp truy vấn.

Ví dụ về truy vấn chuyến đi theo yêu cầu

    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`

Truy vấn mẫu của Tác vụ theo lịch

    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. Chọn Loại biểu đồ là Bản đồ bong bóng, sau đó chọn trường vị trí.
  2. Chọn Thêm trường.
  3. Đặt tên cho trường này và thêm công thức sau: CONCAT(lat, ",", lng).
  4. Đặt loại thành Địa lý->Vĩ độ, Kinh độ.
  5. Bạn có thể thêm các chế độ điều khiển vào trang tổng quan để lọc dữ liệu. Ví dụ: chọn bộ lọc Phạm vi ngày.
  6. Chỉnh sửa hộp phạm vi ngày để chọn phạm vi ngày mặc định.
  7. Bạn có thể thêm các chế độ kiểm soát danh sách thả xuống khác cho vehicle_id. Với các nút điều khiển này, bạn có thể trực quan hoá chuyển động của xe hoặc chuyển động trong một chuyến đi.

Kết quả mẫu trong Looker Studio:

Kết quả mẫu trong Looker Studio

Bước tiếp theo

Để tuân thủ các chính sách giữ lại dữ liệu, hãy xem phần Hạn chế việc giữ lại nhật ký.