BigQuery — мощный инструмент для проведения аналитики. Вы можете использовать его для хранения долгосрочных журналов и выполнения SQL-запросов к данным. Чтобы использовать BigQuery для анализа, вы должны явно направить журналы в BigQuery, как описано в следующем разделе.
Направляйте журналы в BigQuery
- В обозревателе журналов создайте фильтр, изолирующий журналы Fleet Engine:
Fleetengine.googleapis.com/Fleet
. - В области «Результаты запроса» щелкните меню «Действия» или «Дополнительные действия» и выберите «Создать приемник» .
- Укажите имя приемника (например, FleetEngineLogsSink ). Нажмите Далее .
- В пункте «Sink Destination» выберите набор данных BigQuery .
- В разделе «Выбрать набор данных BigQuery» выберите «Создать новый набор данных BigQuery» .
- В диалоговом окне «Создать набор данных» введите идентификатор набора данных .
- Оставьте все остальное как есть и нажмите Create dataset .
- Установите флажок Использовать секционированные таблицы . Нажмите Далее .
- Оставьте «Выбрать журналы для включения в приемник» и «Выбрать журналы для фильтрации из приемника» как есть.
- Нажмите «Создать приемник» .
Теперь ваши журналы должны начать заполнять набор данных BigQuery, что может занять некоторое время. См. также Маршрутизация журналов в поддерживаемые пункты назначения .
После перенаправления данных журнала в BigQuery автоматически заполняются несколько таблиц в наборе данных FleetEngineLogs , по одной для каждого типа журнала:
- Создать транспортное средство
- Получить транспортное средство
- СписокТранспорта
- Поиск транспортных средств
- Обновить транспортное средство
- Создать поездку
- GetTrip
- ОбновлениеTrip
- СписокПоездки
В именах таблиц используется следующий шаблон:
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
Например, этот запрос может сообщить вам, что за последний час:
- Транспортное средство А совершило 10 остановок за 12-й час и 8 остановок за 13-й час.
- Транспортное средство B совершило 5 остановок за 11 час и 7 остановок за 12 час.
- Транспортное средство C совершило 12 остановок за 13-й час и 9 остановок за 14-й час.
См. также Просмотр журналов, перенаправленных в BigQuery .
Интегрируйте BigQuery с Looker Studio
BigQuery можно интегрировать с инструментами бизнес-аналитики для создания информационных панелей для бизнес-аналитики. См. Looker Studio .
В следующем примере показано, как создать панель мониторинга Looker Studio для визуализации поездок и движения транспортных средств на карте.
- Запустите новую панель управления Looker Studio и выберите BigQuery в качестве подключения к данным.
- Выберите «Пользовательский запрос» и вручную введите или выберите облачный проект, которому должен быть выставлен счет.
- Введите один из следующих запросов в поле запроса.
Пример запроса на поездки по запросу
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`
- Выберите тип диаграммы «Пузырьковая карта» , а затем выберите поле местоположения .
- Выберите Добавить поле .
- Назовите поле и добавьте следующую формулу:
CONCAT(lat, ",", lng)
. - Установите тип Geo->Latitude, Longitude .
- Вы можете добавить элементы управления на панель мониторинга для фильтрации данных. Например, выберите фильтр «Диапазон дат» .
- Отредактируйте поле диапазона дат, чтобы выбрать диапазон дат по умолчанию.
- Вы можете добавить дополнительные элементы управления раскрывающимся списком для
vehicle_id
. С помощью этих элементов управления вы можете визуализировать движение автомобиля или движение в пределах поездки.
Пример вывода Looker Studio:
Что дальше
Чтобы обеспечить соблюдение политик хранения данных, см. раздел Ограничение хранения журналов .