نزّل مجموعة البيانات
فك ضغط مجموعة البيانات
Menu— معلومات عن القوائم: اسم المطعم، والتاريخ الذي ظهرت فيه القائمة، وما إلى ذلك.Dish— معلومات عن الأطباق: اسم الطبق إلى جانب بعض خصائصه.MenuPage— معلومات عن الصفحات في القوائم، لأن كل صفحة تنتمي إلى قائمة معيّنة.MenuItem— عنصر في القائمة: طبق مع سعره في صفحة قائمة معيّنة، مع روابط إلى الطبق وصفحة القائمة.
إنشاء الجداول
استيراد البيانات
format_csv_allow_single_quotes لأن حقول البيانات تستخدم علامات الاقتباس المزدوجة فقط، بينما قد تظهر علامات الاقتباس المفردة داخل القيم، ويجب ألا تؤدي إلى إرباك محلّل CSV.
نعطّل input_format_null_as_default لأن بياناتنا لا تحتوي على NULL. وإلا فسيحاول ClickHouse تحليل تسلسلات \N، وقد يلتبس عليه الأمر بينها وبين \ داخل البيانات.
يتيح الإعداد date_time_input_format best_effort تحليل حقول DateTime ضمن نطاق واسع من التنسيقات. على سبيل المثال، سيتعرّف على ISO-8601 من دون ثوانٍ مثل ‘2000-01-01 01:02’. ومن دون هذا الإعداد، لا يُسمح إلا بتنسيق DateTime ثابت.
إلغاء تطبيع البيانات
JOIN في كل مرة. ويُطلق على هذا النوع اسم البيانات “إلغاء تطبيع”.
سننشئ جدولًا باسم menu_item_denorm يحتوي على جميع البيانات المضمومة معًا عبر JOIN:
تحقّق من البيانات
Query
Response
نفّذ بعض الاستعلامات
متوسط أسعار الأطباق تاريخيًا
Query
Response
أسعار البرغر
Query
Response
فودكا
Query
Response
ILIKE '%vodka%'، وهذا بالتأكيد يبعث برسالة واضحة.
الكافيار
Query
Response