使用 BigQuery 分析記錄檔

BigQuery 是功能強大的分析工具。您可以使用這項服務儲存長期記錄,並對資料執行類似 SQL 的查詢。如要使用 BigQuery 進行分析,您必須明確將記錄檔傳送至 BigQuery,如下一節所述。

將記錄檔傳送至 BigQuery

  1. 記錄檔探索工具中,建立可隔離 Fleet Engine 記錄的篩選器:Fleetengine.googleapis.com/Fleet
  2. 在「查詢結果」窗格中,按一下「動作」或「更多動作」選單,然後選擇「建立接收器」。
  3. 指定接收器名稱 (例如 FleetEngineLogsSink)。點選「下一步」
  4. 在「接收器目的地」中,選取「BigQuery 資料集」
  5. 在「選取 BigQuery 資料集」中,選取「建立新的 BigQuery 資料集」
  6. 在「建立資料集」對話方塊中,輸入「資料集 ID」
  7. 其餘設定均保留預設狀態,然後點選「建立資料集」
  8. 勾選「使用分區資料表」。點選「下一步」
  9. 保留「選擇要納入接收器的記錄檔」和「選擇要從接收器排除的記錄檔」
  10. 按一下「建立接收器」

記錄現在應該會開始填入 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

舉例來說,這項查詢可能會告訴您過去一小時內:

  • 車輛 A 在第 12 個小時完成 10 個停靠站,在第 13 個小時完成 8 個停靠站。
  • 車輛 B 在第 11 小時完成 5 個停靠點,在第 12 小時完成 7 個停靠點。
  • 車輛 C 在第 13 小時完成 12 個停靠站,在第 14 小時完成 9 個停靠站。

另請參閱「查看已路由至 BigQuery 的記錄」。

將 BigQuery 與 Looker Studio 整合

BigQuery 可與商業智慧工具整合,建立商業分析資訊主頁。請參閱 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`

排定的工作範例查詢

    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. 將類型設為「地理位置」->「緯度、經度」
  5. 您可以在資訊主頁中新增控制項來篩選資料。例如,選取「日期範圍」篩選器。
  6. 編輯日期範圍方塊,選取預設日期範圍。
  7. 您可以為 vehicle_id 新增其他下拉式清單控制項。透過這些控制項,您可以查看車輛的移動情形,或行程中的移動情形。

Looker Studio 輸出範例:

Looker Studio 輸出內容範例

後續步驟

如要遵守資料保留政策,請參閱「限制記錄保留時間」。