使用 BigQuery 分析記錄檔

BigQuery 是強大的數據分析工具。您可以使用這個儲存庫儲存長期記錄,並對資料執行類似 SQL 的查詢。如要使用 BigQuery 進行分析,您必須明確將記錄檔轉送至 BigQuery,詳情請參閱下一節。

將記錄檔轉送至 BigQuery

  1. 在Logs Explorer中,建立篩選器來隔離 Fleet Engine 記錄:Fleetengine.googleapis.com/Fleet。
  2. 在「Query Results」(查詢結果) 窗格中,按一下「Actions」(動作) 或「More Actions」(更多動作) 選單,然後選擇「Create Sink」(建立接收器)。
  3. 指定接收器名稱 (例如 FleetEngineLogsSink)。點選「下一步」。
  4. 在「接收器目的地」部分,選取「BigQuery 資料集」。
  5. 在「選取 BigQuery 資料集」部分,選取「建立新的 BigQuery 資料集」。
  6. 在「建立資料集」對話方塊中,輸入資料集 ID。
  7. 其餘設定均維持原樣,然後點選「建立資料集」。
  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

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

  • 車輛 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」BigQuery做為資料連線。
  2. 選取「Custom Query」(自訂查詢),然後手動輸入或選取要計費的雲端專案。
  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 輸出內容範例

後續步驟

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