BigQuery は分析を行うための強力なツールです。これを使用して データに対して SQL のようなクエリを実行できます用途 分析のために BigQuery を使用する場合は、次のように、ログを明示的に BigQuery に転送する必要があります。 次のセクションで説明します。
BigQuery にログを転送する
- ログ エクスプローラで、次のフィルタを作成します。
Fleet Engine のログ
Fleetengine.googleapis.com/Fleet
を分離します。 - [クエリ結果] ペインで、[アクション] または [その他の操作] をクリックします。 [シンクの作成] を選択します。
- シンク名を指定します(例: FleetEngineLogsSink)。[次へ] をクリックします。
- [シンクの宛先] で [BigQuery データセット] を選択します。
- [BigQuery データセットを選択] で、[新しい BigQuery データセットを作成する] を選択します。
- [データセットを作成] ダイアログで、データセット ID を入力します。
- 他はすべてそのままにして、[データセットを作成] をクリックします。
- [パーティション分割テーブルを使用する] をオンにします。[次へ] をクリックします。
- [シンクに含めるログを選択] のままにして、フィルタで除外するログを選択します そのままシンクできます。
- [シンクを作成] をクリックします。
これで、ログから BigQuery データセットへのデータ入力が開始されます。これには 少し時間がかかります。サポートされている宛先にログを転送するもご覧ください。
ログデータを BigQuery にルーティングすると、 FleetEngineLogs データセットが、ログタイプごとに 1 つずつ自動的に入力されます。
- 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
車両 1 台 1 時間あたりの経由地数
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 ダッシュボードを作成する方法を示しています。 移動や車両の動きを地図上で可視化します。
- 新しい Looker Studio ダッシュボードを起動し、[ データ接続としての BigQuery。
- [カスタムクエリ] を選択し、対象の 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)
を追加します。 - タイプを [Geo] -> [Latitude, Longitude] に設定します。
- ダッシュボードにコントロールを追加して、データをフィルタできます。たとえば、 期間フィルタ
- 期間ボックスを編集して、デフォルトの期間を選択します。
vehicle_id
用のプルダウン リスト コントロールを追加できます。あり これらのコントロールを使用すると、車両やシステムの ルート内の移動を追跡できます
Looker Studio の出力例:
次のステップ
データ保持ポリシーに準拠するには、ログ 維持率です。