BigQuery 是用于执行分析的强大工具。您可以使用它来存储 长期日志,并对数据执行类似 SQL 的查询。要使用 必须明确地将日志路由到 BigQuery,因为 具体说明。
将日志路由到 BigQuery
- 在日志浏览器中,创建一个过滤器,用于
会隔离 Fleet Engine 日志:
Fleetengine.googleapis.com/Fleet
。 - 在查询结果窗格中,点击操作或更多操作 菜单,然后选择创建接收器。
- 指定接收器名称(例如 FleetEngineLogsSink)。点击下一步。
- 在接收器目标位置中,选择 BigQuery 数据集。
- 在选择 BigQuery 数据集中,选择新建 BigQuery 数据集。
- 在创建数据集对话框中,输入数据集 ID。
- 保持其他设置不变,然后点击创建数据集。
- 勾选使用分区表。点击下一步。
- 保留选择要包含在接收器中的日志和选择要过滤掉的日志 接收器。
- 点击创建接收器。
您的日志现在应该开始填充 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 查询示例
以下示例查询展示了如何搜索不同的日志条目 数据。
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
例如,以下查询可以告诉您在过去一小时内:
- 车辆 A 在第 12 个小时完成 10 次经停,在第 13 个小时完成 8 次经停。
- 车辆 B 在第 11 个小时完成了 5 次经停,在第 12 个小时完成了 7 次经停。
- 车辆 C 在第 13 个小时完成了 12 次经停,在第 14 个小时完成了 9 次经停。
另请参阅查看路由到 BigQuery 的日志。
将 BigQuery 与 Looker Studio 集成
BigQuery 可与商业智能工具集成,以创建信息中心 进行业务分析请参阅 Looker Studio。
以下示例展示了如何为以下各项构建 Looker Studio 信息中心: 在地图上直观呈现行程和车辆行驶情况。
- 启动新的 Looker Studio 信息中心,然后选择 使用 BigQuery 作为数据连接。
- 选择 Custom Query,然后手动输入或选择 Cloud 项目 应进行结算。
- 在查询框中输入以下某个查询。
按需行程示例查询
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`
- 选择 Chart Type as Bubble Map,然后选择 location 字段。
- 选择添加字段。
- 为该字段命名并添加以下公式:
CONCAT(lat, ",", lng)
。 - 将类型设置为地理->纬度, 经度。
- 您可以通过向信息中心添加控件来过滤数据。例如,选择 日期范围过滤条件。
- 修改日期范围框以选择默认日期范围。
- 您可以为
vehicle_id
添加其他下拉列表控件。包含 通过这些控件,您可以直观地看到车辆的运动或 在行程中的移动。
Looker Studio 示例输出:
后续步骤
要符合数据保留政策,请参阅限制日志 留存率。