BigQuery to zaawansowane narzędzie do przeprowadzania analiz. Możesz go używać do przechowywania dłuższych dzienników i wykonywaniu zapytań podobnych do zapytań SQL. Aby używać BigQuery do analizy, musisz bezpośrednio kierować logi do BigQuery w sposób opisany w następnej sekcji.
Przesyłanie dzienników do BigQuery
- W Eksploratorze logów utwórz filtr, który wyodrębnia logi usługi Fleet Engine:
Fleetengine.googleapis.com/Fleet
. - W panelu Wyniki zapytania kliknij menu Działania lub Więcej działań i wybierz Utwórz odbiornik.
- Podaj nazwę ujścia (na przykład FleetEngineLogsSink). Kliknij Dalej.
- W polu Miejsce docelowe ujścia wybierz Zbiór danych BigQuery.
- W sekcji Wybierz zbiór danych BigQuery kliknij Utwórz nowy zbiór danych BigQuery.
- W oknie Tworzenie zbioru danych wpisz identyfikator zbioru danych.
- Pozostaw wszystko bez zmian i kliknij Utwórz zbiór danych.
- Zaznacz pole Użyj tabel podzielonych na partycje. Kliknij Dalej.
- Pozostaw opcje Wybierz logi do uwzględnienia w ujściu i Wybierz logi do odfiltrowania z ujścia w ich obecnej postaci.
- Kliknij Utwórz ujście.
Twoje logi powinny teraz zapełniać zbiór danych BigQuery, co może chwilę potrwać. Zobacz też Przekierowywanie logów do obsługiwanych miejsc docelowych.
Gdy dane logowania są kierowane do BigQuery, automatycznie wypełnia się kilka tabel w zbiorze danych FleetEngineLogs: jedna dla każdego typu dziennika:
- CreateVehicle
- GetVehicle
- ListVehicles
- SearchVehicles
- UpdateVehicle
- CreateTrip
- GetTrip
- UpdateTrip
- ListTrips
Nazwy tabel używają tego wzoru:
project_id.data_set.log_name
Jeśli na przykład projekt nazywa się test-project, a nazwa zbioru danych to FleetEngineLogs, tabela CreateTrip
ma taką nazwę:
test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip
Przykładowe zapytania do BigQuery
Poniższe przykładowe zapytania pokazują, jak wyszukiwać różne wpisy logu w BigQuery.
Liczba logów CreateTrips pogrupowanych według godziny
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
Liczba przesiadek na pojazd na godzinę
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
Z tego zapytania możesz na przykład dowiedzieć się, że w ciągu ostatniej godziny:
- Pojazd A pokonał 10 przesiadek w godziny 12 i 8 przesiadkach w godziny 13.
- Pojazd B zatrzymał się 5 przesiadek w godziny 11 i 7 przesiadkach w godzinie 12.
- Pojazd C wykonał 12 postojów w godzinie 13 i 9 postojów w godzinie 14.
Zobacz też Wyświetlanie logów kierowanych do BigQuery.
Integracja BigQuery z Looker Studio
BigQuery można zintegrować z narzędziami do analityki biznesowej, aby tworzyć panele analityczne. Zapoznaj się z Looker Studio.
Ten przykład pokazuje, jak utworzyć w Looker Studio panel do wizualizacji przejazdów i przemieszczania się pojazdów na mapie.
- Uruchom nową konsolę Looker Studio i jako połączenie danych wybierz BigQuery.
- Wybierz Zapytanie niestandardowe i ręcznie wpisz lub wybierz projekt w Google Cloud, za który ma być naliczane opłaty.
- Wpisz jedno z tych zapytań w polu zapytań.
Przykładowe zapytanie dotyczące przejazdów na żądanie
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`
Przykładowe zapytanie dotyczące zaplanowanych zadań
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`
- Wybierz Typ wykresu jako mapa kłębuszkowa, a następnie pole Lokalizacja.
- Kliknij Dodaj pole.
- Nazwij pole i dodaj tę formułę:
CONCAT(lat, ",", lng)
. - Ustaw typ na Geo->Szerokość geograficzna, długość geograficzna.
- Do panelu możesz dodać elementy sterujące, aby filtrować dane. Wybierz na przykład filtr Zakres dat.
- Aby wybrać domyślny zakres dat, edytuj pole zakresu dat.
- Możesz dodać dodatkowe ustawienia na liście rozwijanej dla
vehicle_id
. Za pomocą tych elementów możesz wizualizować ruch pojazdu lub ruch w ramach podróży.
Przykładowe dane wyjściowe Looker Studio:
Co dalej?
Aby zachować zgodność z zasadami dotyczącymi przechowywania danych, zapoznaj się z artykułem Ograniczanie przechowywania logów.