使用 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. 保留其他所有設定,然後按一下「Create dataset」(建立資料集)
  8. 勾選「使用分區資料表」。點選「下一步」
  9. 請維持「Choose logs to include in sink」(選擇要納入接收器的記錄檔)和「Choose logs to filter out of sink」(選擇要從接收器排除的記錄檔) 的預設值。
  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

舉例來說,這項查詢可讓您瞭解過去 1 小時內的情況:

  • 車輛 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 輸出內容範例

後續步驟

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