BigQuery là một công cụ mạnh mẽ để thực hiện phân tích. Bạn có thể dùng công cụ này để lưu trữ 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 mục đích phân tích, bạn phải định tuyến nhật ký một cách rõ ràng đến BigQuery, như mô tả trong phần tiếp theo.
Định tuyến nhật ký đến BigQuery
- Trong Logs Explorer (Trình khám phá nhật ký), hãy tạo một bộ lọc để tách biệt nhật ký Fleet Engine:
Fleetengine.googleapis.com/Fleet
. - 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 đích nhận.
- Chỉ định tên đích nhận (ví dụ: FleetEngineLogsSink). Nhấp vào Tiếp theo.
- Trong Đích nhận, hãy chọn Tập dữ liệu BigQuery.
- Trong phần Chọn tập dữ liệu BigQuery, hãy chọn Tạo tập dữ liệu BigQuery mới.
- 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.
- Để mọi thứ khác như cũ rồi nhấp vào Tạo tập dữ liệu.
- Đánh dấu vào Sử dụng bảng phân vùng. Nhấp vào Tiếp theo.
- Để nguyên các lựa chọn Chọn nhật ký để đưa vào đích nhận và Chọn nhật ký để lọc ra khỏi đích nhận.
- Nhấp vào Tạo đích nhận.
Giờ đây, nhật ký của bạn sẽ bắt đầu điền sẵn vào 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 bài viết Ghi nhật ký tuyến đường vào 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 sẵn, mỗi bảng cho 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 ví dụ sau đây cho thấy cách bạn có thể tìm kiếm các mục 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 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 1 giờ qua:
- Xe A hoàn thành 10 điểm dừng trong giờ thứ 12 và 8 điểm dừng trong giờ thứ 13.
- Xe B hoàn thành 5 điểm dừng trong giờ thứ 11 và 7 điểm dừng trong giờ thứ 12.
- Xe C đã hoàn thành 12 điểm dừng trong giờ thứ 13 và 9 điểm dừng trong giờ thứ 14.
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
BigQuery có thể được tích hợp với các công cụ thông tin doanh nghiệp để tạo trang tổng quan cho hoạt động phân tích doanh nghiệp. Xem Looker Studio.
Ví dụ sau đây cho thấy cách tạo một trang tổng quan Looker Studio để trực quan hoá các chuyến đi và chuyển động của xe trên bản đồ.
- Khởi chạy một trang tổng quan Looker Studio mới rồi chọn BigQuery làm kết nối dữ liệu.
- 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 mà bạn muốn tính phí.
- Nhập một trong các cụm từ tìm kiếm sau vào hộp tìm kiếm.
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`
Ví dụ về truy vấn cho Nhiệm vụ định kỳ
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`
- Chọn Loại biểu đồ là Bản đồ bong bóng, rồi chọn trường vị trí.
- Chọn Thêm trường.
- Đặt tên cho trường và thêm công thức sau:
CONCAT(lat, ",", lng)
. - Đặt loại thành Địa lý -> Vĩ độ, Kinh độ.
- Bạn có thể thêm các chế độ kiểm soát vào trang tổng quan để lọc dữ liệu. Ví dụ: chọn bộ lọc Phạm vi ngày.
- Chỉnh sửa hộp phạm vi ngày để chọn phạm vi ngày mặc định.
- 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 chế độ kiểm soát này, bạn có thể hình dung chuyển động của xe hoặc chuyển động trong một chuyến đi.
Ví dụ về đầu ra của 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ý.