- بيئة افتراضية
- خدمة ClickHouse Cloud عاملة ومعلومات الاتصال الخاصة بك
- الاتصال بـ ClickHouse Cloud من Jupyter notebooks باستخدام chDB
- تنفيذ استعلامات على مجموعات بيانات بعيدة وتحويل النتائج إلى Pandas DataFrames
- دمج البيانات السحابية مع ملفات CSV محلية لأغراض التحليل
- عرض البيانات بصريًا باستخدام matplotlib
الإعداد
Data sources، ثم انقر على Predefined sample data:
حدِّد Get started في بطاقة بيانات أسعار العقارات المدفوعة في المملكة المتحدة (4GB):
ثم انقر على Import dataset:
سينشئ ClickHouse تلقائيًا الجدول pp_complete في قاعدة البيانات default ويملأه بـ 28.92 مليون صف من بيانات نقاط الأسعار.
للحد من احتمالية كشف بيانات الاعتماد الخاصة بك، نوصي بإضافة اسم المستخدم وكلمة المرور الخاصة بك في Cloud كمتغيرات بيئة على جهازك المحلي.
ومن الطرفية، شغّل الأمر التالي لإضافة اسم المستخدم وكلمة المرور كمتغيرات بيئة:
لا تبقى متغيرات البيئة المذكورة أعلاه إلا طوال جلسة الطرفية الحالية.
ولتعيينها بشكل دائم، أضفها إلى ملف إعدادات الصدفة.
localhost:8888.
انقر على File > New > Notebook لإنشاء دفتر ملاحظات جديد.
سيُطلب منك اختيار نواة.
اختر أي نواة بايثون متاحة لديك، وفي هذا المثال سنختار ipykernel:
في خلية فارغة، يمكنك كتابة الأمر التالي لتثبيت chDB، والذي سنستخدمه للاتصال بمثيل ClickHouse Cloud البعيد:
استكشاف البيانات
remoteSecure في ClickHouse استرداد البيانات بسهولة من ClickHouse Cloud.
يمكنك توجيه chDB لإرجاع هذه البيانات داخل العملية على هيئة Pandas data frame، وهي طريقة مريحة ومألوفة للعمل مع البيانات.
اكتب الاستعلام التالي لجلب بيانات أسعار العقارات المدفوعة في المملكة المتحدة من خدمة ClickHouse Cloud الخاصة بك وتحويلها إلى pandas.DataFrame:
chdb.query(query, "DataFrame") الاستعلام المحدد ويعرض النتيجة في الطرفية على هيئة Pandas DataFrame.
في هذا الاستعلام، نستخدم الدالة remoteSecure للاتصال بـ ClickHouse Cloud.
تأخذ الدالة remoteSecure المعلمات التالية:
- سلسلة اتصال
- اسم قاعدة البيانات والجدول المراد استخدامهما
- اسم المستخدم الخاص بك
- كلمة المرور الخاصة بك
remoteSecure بخدمة ClickHouse Cloud البعيدة، وتشغّل الاستعلام ثم تُرجع النتيجة.
وبحسب حجم بياناتك، قد يستغرق ذلك بضع ثوانٍ.
في هذه الحالة، نُرجع متوسط نقطة السعر لكل سنة، ونطبّق عامل تصفية باستخدام town='LONDON'.
ثم تُخزَّن النتيجة على هيئة DataFrame في متغير باسم df.
يعرض df.head الصفوف القليلة الأولى فقط من البيانات المُعادة:
شغّل الأمر التالي في خلية جديدة للتحقق من أنواع الأعمدة:
date من النوع Date في ClickHouse، فإنه في DataFrame الناتج يكون من النوع uint16.
يستنتج chDB تلقائيًا النوع الأنسب عند إرجاع DataFrame.
بعد أن أصبحت البيانات متاحة لنا بصيغة مألوفة، لنستكشف كيف تغيّرت أسعار العقارات في لندن بمرور الوقت.
في خلية جديدة، شغّل الأمر التالي لإنشاء مخطط بسيط للوقت مقابل السعر في لندن باستخدام matplotlib:
file لقراءة الملفات مباشرةً من جهازك المحلي.
في خلية جديدة، شغّل الأمر التالي لإنشاء DataFrame جديدة من ملف .csv المحلي.
القراءة من عدة مصادر في خطوة واحدة
القراءة من عدة مصادر في خطوة واحدة
من الممكن أيضًا القراءة من عدة مصادر في خطوة واحدة. ويمكنك استخدام الاستعلام أدناه مع
JOIN لتحقيق ذلك:الخلاصة
remoteSecure()، وقراءة ملفات CSV المحلية باستخدام محرك الجدول file()، وتحويل النتائج مباشرةً إلى Pandas DataFrames لأغراض التحليل والتصور.
ومن خلال chDB، يمكن لعلماء البيانات الاستفادة من إمكانات SQL القوية في ClickHouse إلى جانب أدوات بايثون المألوفة مثل Pandas وmatplotlib، مما يسهّل دمج مصادر بيانات متعددة لإجراء تحليل شامل.
ورغم أن كثيرًا من علماء البيانات المقيمين في لندن قد لا يتمكنون من شراء منزل أو شقة خاصة بهم في أي وقت قريب، فبوسعهم على الأقل تحليل السوق الذي جعل ذلك بعيد المنال!