الانتقال إلى المحتوى الرئيسي
تُعد Sensor.Community شبكة عالمية من المستشعرات يقودها المساهمون، وتُنتج بيانات بيئية مفتوحة. وتُجمع هذه البيانات من مستشعرات منتشرة في أنحاء العالم كافة. ويمكن لأي شخص شراء مستشعر ووضعه في أي مكان يريده. وتتوفر واجهات برمجة التطبيقات لتنزيل البيانات على GitHub، كما أن البيانات متاحة بحرية بموجب Database Contents License (DbCL).
تحتوي مجموعة البيانات على أكثر من 20 مليار سجل، لذا توخَّ الحذر عند مجرد نسخ الأوامر أدناه ولصقها، ما لم تكن مواردك قادرة على التعامل مع هذا الحجم. نُفِّذت الأوامر أدناه على مثيل الإنتاج من ClickHouse Cloud.
  1. البيانات موجودة في S3، لذا يمكننا استخدام الدالة الجدولية s3 لإنشاء جدول من الملفات. ويمكننا أيضًا استعلام البيانات في موضعها مباشرةً. لنلقِ نظرة على بعض الصفوف قبل محاولة إدراجها في ClickHouse:
البيانات موجودة في ملفات CSV، لكنها تستخدم فاصلة منقوطة كفاصل. وتبدو الصفوف كما يلي:
  1. سنستخدم جدول MergeTree التالي لتخزين البيانات في ClickHouse:
  1. تتضمن خدمات ClickHouse Cloud عنقودًا باسم default. سنستخدم دالة الجدول s3Cluster، التي تقرأ ملفات S3 بالتوازي من العقد في عنقودك. (إذا لم يكن لديك عنقود، فاستخدم الدالة s3 فقط وأزل اسم العنقود.)
سيستغرق هذا الاستعلام بعض الوقت - إذ يبلغ حجم البيانات غير المضغوطة نحو 1.67 تيرابايت:
إليك الاستجابة - تُظهر عدد الصفوف وسرعة المعالجة. يتم الإدخال بمعدل يتجاوز 6 ملايين صف في الثانية!
  1. لنرَ مقدار مساحة التخزين على القرص المطلوبة لجدول sensors:
تم ضغط 1.67T إلى 310 GiB، ويبلغ إجمالي عدد الصفوف 20.69 مليار صف:
  1. لنحلّل البيانات الآن بعد انتقالها إلى ClickHouse. لاحظ أن كمية البيانات تزداد بمرور الوقت مع نشر المزيد من المستشعرات:
يمكننا إنشاء مخطط في SQL Console لعرض النتائج بشكل مرئي:
  1. يحسب هذا الاستعلام عدد الأيام شديدة الحرارة والرطوبة:
فيما يلي تمثيل مرئي للنتيجة:
آخر تعديل في ١ يوليو ٢٠٢٦