Skip to main content
All quickstarts
التحليلات في الوقت الفعليمستودعات البياناتCloudOSS

نظرة عامة

تعرّف على كيفية إدخال البيانات والاستعلام عنها في ClickHouse باستخدام مجموعة بيانات سيارات الأجرة في مدينة نيويورك النموذجية.

المتطلبات المسبقة

تحتاج إلى الوصول إلى خدمة ClickHouse عاملة لإكمال هذا الدليل العملي. للاطلاع على الإرشادات، راجع دليل Quick Start.
1

إنشاء جدول جديد

تحتوي مجموعة بيانات سيارات الأجرة في مدينة نيويورك على تفاصيل ملايين رحلات سيارات الأجرة، بما في ذلك أعمدة لمبلغ الإكرامية والرسوم ونوع الدفع وغيرها. أنشئ جدولًا لتخزين هذه البيانات.
  1. اتصل بـ SQL Console:
    • في ClickHouse Cloud، اختر خدمة من القائمة المنسدلة، ثم اختر SQL Console من قائمة التنقل الجانبية اليسرى.
    • في ClickHouse ذاتية الإدارة، اتصل بـ SQL Console على https://_hostname_:8443/play. راجع مسؤول ClickHouse للحصول على التفاصيل.
  2. أنشئ جدول trips التالي في قاعدة البيانات default:
2

أضِف مجموعة البيانات

بعد إنشاء جدول، أضف بيانات سيارات الأجرة في مدينة نيويورك من ملفات CSV على S3.
  1. يُدرج الأمر التالي نحو 2,000,000 صف في جدول trips من ملفين مختلفين على S3: trips_1.tsv.gz وtrips_2.tsv.gz:
  2. انتظر حتى يكتمل INSERT. قد يستغرق تنزيل بيانات بحجم 150 MB بعض الوقت.
  3. بعد اكتمال الإدراج، تحقّق من نجاح العملية:
    ينبغي أن يُرجع هذا الاستعلام 1,999,657 صفاً.
3

تحليل البيانات

نفّذ بعض الاستعلامات لتحليل البيانات. استكشف الأمثلة التالية أو جرّب استعلام SQL الخاص بك.
  • احسب متوسط مبلغ الإكرامية:

  • احسب متوسط التكلفة حسب عدد الركاب:

    تتراوح قيم passenger_count بين 0 و9:

  • احسب العدد اليومي لرحلات الانطلاق في كل حي:

  • احسب مدة كل رحلة بالدقائق، ثم جمّع النتائج حسب مدة الرحلة:

  • اعرض عدد الرحلات المنطلقة من كل حي موزعًا حسب ساعات اليوم:

  1. استرجع الرحلات المتجهة إلى مطاري LaGuardia أو JFK:

4

إنشاء قاموس

القاموس (dictionary) هو خريطة (mapping) لأزواج المفتاح-القيمة (key-value pairs) مخزَّنة في الذاكرة. لمزيد من التفاصيل، راجع القواميسأنشئ قاموسًا (Dictionary) مرتبطًا بجدول في خدمة ClickHouse لديك. يستند الجدول والقاموس إلى ملف CSV يحتوي على صف لكل حي في مدينة نيويورك.تُربَط الأحياء بأسماء البلديات الخمس لمدينة نيويورك (Bronx وBrooklyn وManhattan وQueens وStaten Island)، إضافةً إلى مطار Newark‏ (EWR).فيما يلي مقتطف من ملف CSV الذي تستخدمه معروضًا في هيئة جدول. يقابل العمود LocationID في الملف العمودين pickup_nyct2010_gid وdropoff_nyct2010_gid في جدول trips الخاص بك:
  1. نفّذ أمر SQL التالي لإنشاء قاموس باسم taxi_zone_dictionary وتعبئته من ملف CSV في S3. عنوان URL الخاص بالملف هو https://datasets-documentation.s3.eu-west-3.amazonaws.com/nyc-taxi/taxi_zone_lookup.csv.
يؤدي ضبط LIFETIME على 0 إلى تعطيل التحديثات التلقائية لتجنّب نقل البيانات غير الضروري إلى حاوية S3 الخاصة بنا. وفي حالات أخرى، قد تهيّئه بشكل مختلف. لمزيد من التفاصيل، راجع تحديث بيانات القاموس باستخدام LIFETIME.
  1. تحقّق من نجاح العملية. ينبغي أن يُرجع ما يلي 265 صفًا، بصف واحد لكل حي:
  2. استخدم الدالة dictGet (أو صيغها المختلفة) لاسترجاع قيمة من قاموس. مرّر اسم القاموس والقيمة المطلوبة والمفتاح (وهو في مثالنا العمود LocationID من taxi_zone_dictionary). على سبيل المثال، يُرجع الاستعلام التالي قيمة Borough ذات LocationID يساوي 132، والتي تشير إلى مطار JFK):
    يقع JFK في كوينز. لاحظ أن زمن استرجاع القيمة يساوي 0 تقريبًا:
  3. استخدم الدالة dictHas للتحقق مما إذا كان مفتاح موجودًا في القاموس. على سبيل المثال، يُرجع الاستعلام التالي القيمة 1 (أي “صحيح” في ClickHouse):
  4. يعرض الاستعلام التالي القيمة 0 لأن 4567 ليست ضمن قيم LocationID في القاموس:
  5. استخدم الدالة dictGet لاسترجاع اسم الـborough في استعلام. على سبيل المثال:
    يحسب هذا الاستعلام إجمالي عدد رحلات سيارات الأجرة لكل حي إداري تنتهي في مطارَي LaGuardia أو JFK. تبدو النتيجة كما يلي، ولاحظ أن عددًا كبيرًا من الرحلات لا تُعرف فيها منطقة الانطلاق:
5

إجراء ربط

اكتب بعض الاستعلامات التي تربط taxi_zone_dictionary بجدول trips.
  1. ابدأ بعبارة JOIN بسيطة تعمل على نحو مشابه لاستعلام المطار السابق أعلاه:
    تبدو الاستجابة مطابقة لاستعلام dictGet:
لاحظ أن ناتج استعلام JOIN أعلاه هو نفسه ناتج الاستعلام السابق الذي استخدم dictGetOrDefault، باستثناء عدم تضمين قيم Unknown. في الخلفية، يستدعي ClickHouse فعليًا الدالة dictGet للقاموس taxi_zone_dictionary، لكن صياغة JOIN أكثر شيوعًا لدى مطوري SQL.
  1. يعيد هذا الاستعلام صفوف الرحلات الألف ذات أعلى إكرامية، ثم يجري ربطًا داخليًا لكل صف مع القاموس:
عمومًا، نتجنب استخدام SELECT * بكثرة في ClickHouse. استرجع فقط الأعمدة التي تحتاج إليها فعليًا.

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

تعرّف على المزيد عن ClickHouse من خلال الوثائق التالية:
Last modified on August 28, 2026