Skip to main content
تحتوي مجموعة البيانات هذه على أكثر من 150 مليون مراجعة للعملاء على منتجات أمازون. توجد البيانات في ملفات Parquet مضغوطة بخوارزمية snappy على AWS S3، ويبلغ حجمها الإجمالي 49 جيجابايت (بعد الضغط).
يمكنك تجربة ذلك على ClickHouse مستضاف ذاتيًا أو على ClickHouse Cloud. إذا لم يكن لديك حساب بالفعل، يمكنك بدء فترة تجريبية مجانية لـ ClickHouse Cloud.
لنستعرض خطوات إدراج البيانات في ClickHouse.

تحميل مجموعة البيانات

  1. من دون إدراج البيانات في ClickHouse، يمكننا الاستعلام عنها مباشرةً. لنستعرض بعض الصفوف حتى نرى كيف تبدو:
تكون الصفوف على النحو التالي:
  1. لنعرّف جدول MergeTree جديدًا باسم amazon_reviews لتخزين هذه البيانات في ClickHouse:
  1. يستخدم أمر INSERT التالي دالة الجدول s3Cluster، التي توزّع ملفات S3 على عُقد العنقود لديك لتُقرأ بالتوازي.
في ClickHouse Cloud، يُسمّى العنقود لديك default، ويمكنك تنفيذ الأمر كما هو موضح. أما على خادم مُدار ذاتيًا، فاستبدل default باسم العنقود لديك — أو إذا كنت تستخدم خادمًا واحدًا، فاستخدم دالة الجدول s3 بدلًا منها، واحذف الوسيط الأول ليبدأ استدعاء الدالة بعنوان URL. نستخدم محرف بدل في عنوان URL لإدراج جميع ملفات المراجعة المطابقة.
  1. هذا الاستعلام لا يستغرق وقتًا طويلًا — إذ يبلغ المتوسط نحو 300,000 صف في الثانية. وخلال 5 دقائق تقريبًا، ينبغي أن ترى أنه قد تم إدراج جميع الصفوف:
  1. لنرَ مقدار المساحة التي تستخدمها بياناتنا:
كان حجم البيانات الأصلي نحو 70G، لكن بعد ضغطها في ClickHouse أصبحت تشغل نحو 30G.

أمثلة على الاستعلامات

  1. لنُشغِّل بعض الاستعلامات. فيما يلي أكثر 10 مراجعات فائدةً في مجموعة البيانات:
يستخدم هذا الاستعلام إسقاطًا لتحسين الأداء.
  1. فيما يلي أكثر 10 منتجات على أمازون من حيث عدد المراجعات:
  1. فيما يلي متوسط تقييمات المراجعات شهريًا لكل منتج (وهو سؤال فعلي في مقابلة عمل لدى أمازون!):
  1. فيما يلي العدد الإجمالي للأصوات لكل فئة من فئات المنتجات. هذا الاستعلام سريع لأن product_category موجود في المفتاح الأساسي:
  1. لنبحث عن المنتجات التي تظهر فيها كلمة “awful” بأعلى تكرار في المراجعات. هذه مهمة كبيرة، إذ يجب تحليل أكثر من 151 مليون سلسلة نصية بحثًا عن كلمة واحدة:
runnable
لاحظ وقت تنفيذ الاستعلام مع هذا الكم الكبير من البيانات. ومن الممتع أيضًا تصفح النتائج!
  1. يمكننا تشغيل الاستعلام نفسه مرة أخرى، لكن هذه المرة نبحث عن awesome في المراجعات:
runnable