تحليل السجلّات باستخدام BigQuery

‫BigQuery هي أداة فعّالة لإجراء التحليلات. يمكنك استخدامها لتخزين السجلّات على المدى الطويل ولإجراء استعلامات تشبه استعلامات SQL على البيانات. لاستخدام BigQuery للتحليل، عليك توجيه سجلاتك إلى BigQuery بشكل صريح، كما هو описан في القسم التالي.

توجيه السجلات إلى BigQuery

  1. في مستكشف السجلات، أنشئ فلترًا يؤدي إلى عزل سجلات Fleet Engine: Fleetengine.googleapis.com/Fleet.
  2. في لوحة نتائج طلب البحث، انقر على قائمة الإجراءات أو مزيد من الإجراءات واختَر إنشاء وجهة.
  3. حدِّد اسم مصدر (مثل FleetEngineLogsSink). بعد ذلك، انقر على التالي.
  4. في وجهة التصدير، اختَر مجموعة بيانات BigQuery.
  5. في اختيار مجموعة بيانات BigQuery، اختَر إنشاء مجموعة بيانات جديدة في BigQuery.
  6. في مربّع الحوار إنشاء مجموعة بيانات، أدخِل معرّف مجموعة البيانات.
  7. اترك كل الإعدادات الأخرى كما هي وانقر على إنشاء مجموعة بيانات.
  8. ضَع علامة في المربّع بجانب استخدام الجداول المقسّمة. بعد ذلك، انقر على التالي.
  9. اترك الخيارَين اختيار السجلات المطلوب تضمينها في المصرف واختيار السجلات المطلوب استبعادها من المصرف كما هما.
  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

على سبيل المثال، يمكن أن يُعلمك هذا الطلب بأنّه في آخر ساعة:

  • أكملت المركبة "أ" 10 محطات في الساعة 12 و8 محطات في الساعة 13.
  • أكملت المركبة "ب" 5 محطات في الساعة 11 و7 محطات في الساعة 12.
  • أكملت المركبة "ج" 12 محطة في الساعة 13 و9 محطات في الساعة 14.

اطّلِع أيضًا على عرض السجلات التي يتم توجيهها إلى BigQuery.

دمج BigQuery مع Looker Studio

يمكن دمج BigQuery مع أدوات ذكاء الأعمال لإنشاء لوحات بيانات لإحصاءات النشاط التجاري. راجِع Looker Studio.

يوضّح المثال التالي كيفية إنشاء لوحة بيانات في Looker Studio بهدف عرض الرحلات وحركات المركبات على خريطة.

  1. افتح لوحة بيانات جديدة في Looker Studio واختَر BigQuery كطريقة ربط البيانات.
  2. اختَر طلب بحث مخصّص وأدخِل يدويًا مشروع السحابة الإلكترونية الذي يجب أن يتم إرسال الفواتير إليه أو اختَره.
  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. اضبط النوع على Geo->Latitude, Longitude.
  5. يمكنك إضافة عناصر تحكّم إلى لوحة البيانات لفلترة البيانات. على سبيل المثال، اختَر فلتر النطاق الزمني.
  6. عدِّل مربّع النطاق الزمني لاختيار نطاق زمني تلقائي.
  7. يمكنك إضافة عناصر تحكّم إضافية في القائمة المنسدلة لـ vehicle_id. باستخدام عناصر التحكّم هذه، يمكنك الاطّلاع على حركة المركبة أو الحركة خلال رحلة معيّنة.

مثال على الناتج في Looker Studio:

مثال على الناتج في Looker Studio

الخطوات التالية

للامتثال لسياسات الاحتفاظ بالبيانات، يُرجى الاطّلاع على فرض قيود على الاحتفاظ بالملفّات logging.