BigQuery ile günlükleri analiz edin

BigQuery, analiz yapmak için güçlü bir araçtır. Daha uzun süreli günlükleri depolamak ve verilere SQL benzeri sorgular uygulamak için bu özelliği kullanabilirsiniz. Analiz için BigQuery'yi kullanmak istiyorsanız günlüklerinizi bir sonraki bölümde açıklandığı gibi BigQuery'ye yönlendirmeniz gerekir.

Günlükleri BigQuery'ye yönlendirme

  1. Günlük Gezgini'nde Fleet Engine günlüklerini ayıran bir filtre oluşturun: Fleetengine.googleapis.com/Fleet.
  2. Sorgu Sonuçları bölmesinde İşlemler veya Diğer İşlemler menüsünü tıklayın ve Eğitici Oluştur'u seçin.
  3. Bir havuz adı belirtin (ör. FleetEngineLogsSink). Sonraki'yi tıklayın.
  4. Hedef Aktarıcı bölümünde BigQuery veri kümesi'ni seçin.
  5. BigQuery veri kümesi seçin bölümünde Yeni BigQuery veri kümesi oluştur'u seçin.
  6. Veri kümesi oluştur iletişim kutusuna bir Veri kümesi kimliği girin.
  7. Diğer her şeyi olduğu gibi bırakın ve Veri kümesi oluştur'u tıklayın.
  8. Bölümlendirilmiş tabloları kullan'ı işaretleyin. Sonraki'yi tıklayın.
  9. Yığına dahil edilecek günlükleri seçin ve Yığından filtrelenecek günlükleri seçin seçeneklerini olduğu gibi bırakın.
  10. Havuz Oluştur'u tıklayın.

Günlükleriniz artık BigQuery veri kümesini doldurmaya başlayacaktır. Bu işlem biraz zaman alabilir. Ayrıca Günlükleri desteklenen hedeflere yönlendirme başlıklı makaleyi de inceleyin.

Günlük verilerini BigQuery'ye yönlendirdiğinizde, FleetEngineLogs veri kümesi altında her günlük türü için bir tane olmak üzere çeşitli tablolar otomatik olarak doldurulur:

  • CreateVehicle
  • GetVehicle
  • ListVehicles
  • SearchVehicles
  • UpdateVehicle
  • CreateTrip
  • GetTrip
  • UpdateTrip
  • ListTrips

Tablo adlarında aşağıdaki kalıp kullanılır:

project_id.data_set.log_name

Örneğin, projenin adı test-project ve veri kümesi adı FleetEngineLogs ise CreateTrip tablosu şu adı alır:

test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip

BigQuery için örnek sorgular

Aşağıdaki örnek sorgularda, BigQuery'de farklı günlük girişlerini nasıl arayacağınız gösterilmektedir.

Saate göre gruplandırılmış CreateTrips günlüklerinin sayısı

    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

Araç başına saatlik durak sayısı

    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

Örneğin, bu sorgu son bir saat içinde şunları gösterebilir:

  • A aracı 12. saatte 10 durak, 13. saatte 8 durak tamamladı.
  • B aracı 11. saatte 5, 12. saatte 7 durak tamamladı.
  • C aracı 13. saatte 12, 14. saatte 9 durak tamamladı.

Ayrıca BigQuery'ye yönlendirilen günlükleri görüntüleme başlıklı makaleyi inceleyin.

BigQuery'yi Looker Studio ile entegre etme

BigQuery, iş analizleri için kontrol panelleri oluşturmak amacıyla iş zekası araçlarıyla entegre edilebilir. Looker Studio'ya bakın.

Aşağıdaki örnekte, gezileri ve araç hareketlerini haritada görselleştirmek için nasıl Looker Studio kontrol paneli oluşturulacağı gösterilmektedir.

  1. Yeni bir Looker Studio kontrol paneli başlatın ve veri bağlantısı olarak BigQuery'yi seçin.
  2. Özel Sorgu'yu seçin ve faturalandırılacak Cloud projesini manuel olarak girin veya seçin.
  3. Sorgu kutusuna aşağıdaki sorgulardan birini girin.

İsteğe bağlı gezilerle ilgili örnek sorgu

    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`

Planlanmış Görevler örnek sorgusu

    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. Bublle Harita Olarak Grafik Türü'nü ve ardından konum alanını seçin.
  2. Alan ekle'yi seçin.
  3. Alanı adlandırın ve aşağıdaki formülü ekleyin: CONCAT(lat, ",", lng).
  4. Türü Coğrafi->Enlem, Boylam olarak ayarlayın.
  5. Verileri filtrelemek için kontrol paneline denetimler ekleyebilirsiniz. Örneğin, Tarih aralığı filtresini seçin.
  6. Varsayılan bir tarih aralığı seçmek için tarih aralığı kutusunu düzenleyin.
  7. vehicle_id için ek açılır liste kontrolleri ekleyebilirsiniz. Bu kontrollerle aracın hareketini veya bir seyahat içindeki hareketi görselleştirebilirsiniz.

Looker Studio örnek çıkışı:

Looker Studio örnek çıkışı

Sırada ne var?

Veri saklama politikalarına uymak için Günlük saklama süresini kısıtlama başlıklı makaleyi inceleyin.