使用 BigQuery 分析記錄檔

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

將記錄檔傳送至 BigQuery

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

記錄現在應該會開始填入 BigQuery 資料集,這可能需要一段時間。另請參閱「將記錄檔轉送至支援的目的地」。

將記錄檔資料傳送至 BigQuery 後,系統會自動填入「FleetEngineLogs」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 輸出內容範例

後續步驟

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