يُخزَّن الكثير من بيانات العالم في حاويات Amazon S3.
في هذا الدليل، سنتعلّم كيفية الاستعلام عن هذه البيانات باستخدام chDB.
لنبدأ أولاً بإنشاء بيئة افتراضية:
والآن سنثبّت chDB.
تأكّد من أن الإصدار لديك هو 2.0.2 أو أحدث:
والآن سنثبّت IPython:
سنستخدم ipython لتشغيل الأوامر في بقية هذا الدليل، ويمكنك تشغيله بتنفيذ:
يمكنك أيضًا استخدام الكود في برنامج نصي بلغة Python أو في دفتر Jupyter المفضل لديك.
لنبدأ بسرد جميع الملفات في حاوية S3 التي تحتوي على مراجعات Amazon.
للقيام بذلك، يمكننا استخدام دالة الجدول s3 وتمرير path إلى ملف أو محرف بدل لمجموعة من الملفات.
إذا مرّرت اسم الحاوية فقط، فسيؤدي ذلك إلى ظهور استثناء.
سنستخدم أيضًا تنسيق الإدخال One حتى لا يُحلَّل الملف؛ وبدلًا من ذلك، يُعاد صف واحد لكل ملف، ويمكننا الوصول إلى الملف عبر العمود الافتراضي _file وإلى المسار عبر العمود الافتراضي _path.
لا تحتوي هذه الحاوية إلا على ملفات Parquet.
الاستعلام عن الملفات في حاوية S3
بعد ذلك، لنتعلّم كيفية الاستعلام عن هذه الملفات.
إذا أردنا حساب عدد الصفوف في كل ملف من هذه الملفات، يمكننا تشغيل الاستعلام التالي:
يمكننا أيضًا تمرير عنوان URI عبر HTTP لحاوية S3، وسنحصل على النتائج نفسها:
دعنا نلقِ نظرة على بنية ملفات Parquet هذه باستخدام عبارة DESCRIBE:
لنحسب الآن أبرز فئات المنتجات بناءً على عدد المراجعات، وكذلك متوسط التقييم بالنجوم:
الاستعلام عن الملفات في حاوية S3 خاصة
إذا كنا نستعلم عن ملفات في حاوية S3 خاصة، فسنحتاج إلى تمرير مفتاح وصول ومفتاح سري.
يمكننا تمرير بيانات الاعتماد هذه إلى دالة الجدول s3:
لن يعمل هذا الاستعلام لأنها حاوية S3 عامة!
ومن البدائل استخدام المجموعات المُسمّاة، لكن هذا النهج غير مدعوم بعد في chDB.