متى تستخدم clickhouse-local مقابل ClickHouse
clickhouse-local إصدارًا سهل الاستخدام من ClickHouse، وهو مثالي للمطورين الذين يحتاجون إلى معالجة سريعة للملفات المحلية والبعيدة باستخدام SQL من دون الحاجة إلى تثبيت خادم قاعدة بيانات كامل. باستخدام clickhouse-local، يمكن للمطورين استخدام أوامر SQL (باستخدام لهجة ClickHouse SQL) مباشرةً من سطر الأوامر، مما يوفّر طريقة بسيطة وفعّالة للوصول إلى ميزات ClickHouse من دون الحاجة إلى تثبيت ClickHouse كامل. ومن أبرز مزايا clickhouse-local أنه يأتي مضمنًا بالفعل عند تثبيت clickhouse-client. وهذا يعني أن المطورين يمكنهم البدء باستخدام clickhouse-local بسرعة، من دون الحاجة إلى عملية تثبيت معقدة.
ومع أن clickhouse-local أداة ممتازة لأغراض التطوير والاختبار ومعالجة الملفات، فإنه غير مناسب لخدمة المستخدمين النهائيين أو التطبيقات. في هذه الحالات، يُوصى باستخدام ClickHouse مفتوح المصدر. ClickHouse هو قاعدة بيانات OLAP قوية صُممت للتعامل مع أحمال العمل التحليلية واسعة النطاق. وهو يوفّر معالجة سريعة وفعّالة للاستعلامات المعقدة على مجموعات بيانات كبيرة، مما يجعله مثاليًا للاستخدام في بيئات الإنتاج التي يكون فيها الأداء العالي بالغ الأهمية. بالإضافة إلى ذلك، يوفّر ClickHouse مجموعة واسعة من الميزات مثل النسخ المتماثل والتجزئة والتوافر العالي، وهي أمور أساسية للتوسع والتعامل مع مجموعات بيانات كبيرة وخدمة التطبيقات. إذا كنت بحاجة إلى التعامل مع مجموعات بيانات أكبر أو خدمة المستخدمين النهائيين أو التطبيقات، فنوصي باستخدام ClickHouse مفتوح المصدر بدلًا من clickhouse-local.
يُرجى قراءة الوثائق أدناه التي تعرض أمثلة على حالات استخدام clickhouse-local، مثل الاستعلام عن ملف محلي أو قراءة ملف Parquet في S3.
تنزيل clickhouse-local
clickhouse-local باستخدام الملف التنفيذي clickhouse نفسه الذي يُشغِّل خادم ClickHouse وclickhouse-client. وأسهل طريقة لتنزيل أحدث إصدار هي استخدام الأمر التالي:
يمكن للملف التنفيذي الذي نزّلته للتو تشغيل مختلف أدوات ClickHouse وبرامجه المساعدة. إذا كنت تريد تشغيل ClickHouse كخادم قاعدة بيانات، فراجِع Quick Start.
الاستعلام عن البيانات في ملف باستخدام SQL
clickhouse-local تشغيل استعلامات مخصّصة على الملفات، بحيث لا تحتاج إلى إدراج البيانات في جدول. ويمكن لـ clickhouse-local دفق البيانات من ملف إلى جدول مؤقت وتنفيذ أوامر SQL.
إذا كان الملف موجودًا على الجهاز نفسه الذي يعمل عليه clickhouse-local، فيمكنك ببساطة تحديد الملف المراد تحميله. يحتوي ملف reviews.tsv التالي على عينة من مراجعات منتجات Amazon:
file جدولًا، ويمكنك استخدام DESCRIBE للاطّلاع على المخطط المُستنتَج:
الاستعلام عن البيانات في ملف Parquet على AWS S3
clickhouse-local ودالة الجدول s3 للاستعلام عن الملف مباشرةً (من دون إدراج البيانات في جدول ClickHouse). لدينا ملف باسم house_0.parquet في حاوية عامة يحتوي على أسعار المنازل للعقارات المبيعة في المملكة المتحدة. لنرَ كم عدد الصفوف التي يحتوي عليها:
تحويلات الصيغ
clickhouse-local لتحويل البيانات بين صيغ مختلفة. مثال:
--copy:
الاستخدام
clickhouse-local الوصول إلى بيانات خادم ClickHouse على نفس المضيف، ولا يعتمد على إعدادات الخادم. كما يدعم تحميل إعدادات الخادم باستخدام الوسيط --config-file. وبالنسبة إلى البيانات المؤقتة، يُنشأ افتراضيًا دليل مؤقت فريد للبيانات.
الاستخدام الأساسي (Linux):
يدعم
clickhouse-local أيضًا العمل على Windows عبر WSL2.-S,--structure— بنية الجدول لبيانات الإدخال.--input-format— تنسيق الإدخال، والافتراضي هوTSV.-F,--file— المسار إلى البيانات، والافتراضي هوstdin.-q,--query— الاستعلامات المطلوب تنفيذها، مع استخدام;كفاصل. يمكن تحديد--queryعدة مرات، مثل:--query "SELECT 1" --query "SELECT 2". لا يمكن استخدامه بالتزامن مع--queries-file.--queries-file- مسار ملف يحتوي على الاستعلامات المطلوب تنفيذها. يمكن تحديد--queries-fileعدة مرات، مثل:--query queries1.sql --query queries2.sql. لا يمكن استخدامه بالتزامن مع--query.--multiquery, -n– إذا تم تحديده، يمكن إدراج عدة استعلامات مفصولة بفواصل منقوطة بعد الخيار--query. وللتسهيل، يمكن أيضًا حذف--queryوتمرير الاستعلامات مباشرةً بعد--multiquery.-N,--table— اسم الجدول الذي ستوضع فيه بيانات الإخراج، والافتراضي هوtable.-f,--format,--output-format— تنسيق الإخراج، والافتراضي هوTSV.-d,--database— قاعدة البيانات الافتراضية، والافتراضي هو_local.--stacktrace— ما إذا كان سيتم تفريغ مخرجات التصحيح عند حدوث استثناء.--echo [ <bool> ]— اطبع كل استعلام قبل التنفيذ. يقبل قيمة منطقية اختيارية. يكون مفعّلًا افتراضيًا في الوضع التفاعلي ومعطّلًا في وضع الدُفعات. ملاحظة: لأن--echoيقبل الآن قيمة اختيارية، فإن أي استعلام موضعي يأتي مباشرةً بعد--echoبدون قيمة صريحة سيُعامَل على أنه قيمته؛ استخدم بدلًا من ذلك--echo --query "..."أو--echo -q "..."أو--echo=falseأوstdinعبر pipe.--echo-formatted [ <bool> ]— نسّق الاستعلامات المطبوعة عبر echo. يقبل قيمة منطقية اختيارية. يكون مفعّلًا افتراضيًا في الوضع التفاعلي ومعطّلًا في وضع الدُفعات.--echo-query-id [ <bool> ]— اطبعquery_idقبل التنفيذ. يقبل قيمة منطقية اختيارية. يكون مفعّلًا افتراضيًا في الوضع التفاعلي ومعطّلًا في وضع الدُفعات.--highlight,--hilite<bool>— بدّل تمييز الصياغة في موجّه الأوامر والاستعلامات المطبوعة عبر echo. يكون مفعّلًا افتراضيًا. لا يُطبَّق التمييز إلا عند الكتابة إلى طرفية.--verbose— مزيد من التفاصيل حول تنفيذ الاستعلام.--logger.console— سجّل إلى وحدة التحكم.--logger.log— اسم ملف السجل.--logger.level— مستوى السجل.--ignore-error— لا توقف المعالجة إذا فشل استعلام.-c,--config-file— مسار إلى ملف التهيئة بالتنسيق نفسه المستخدم في خادم ClickHouse، ويكون ملف التهيئة فارغًا افتراضيًا.--no-system-tables— لا تُرفق جداول النظام.--help— مرجع الوسيطات لـclickhouse-local.-V,--version— اطبع معلومات الإصدار ثم اخرج.
--config-file.
الأوامر
أمر LS
Query
Response
Response
الأمر CLEAR
clear في Linux أو Ctrl+L في كثير من الطرفيات). هذا إجراء من جهة العميل: ولا يُرسَل إلى محرك SQL.
في clickhouse-local، يُتعرَّف على هذا الأمر الوصفي في الوضع التفاعلي، وكذلك عند الإدخال عبر -q و**--queries-file** (المسار نفسه في العميل كما في -q، والفكرة نفسها كما في ls)، لذا فإن كتابة clear وحدها لا تؤدي إلى ظهور الخطأ UNKNOWN_IDENTIFIER. أما clickhouse-client --queries-file البعيد فيبقى دون تغيير: إذ يُنفَّذ محتوى الملف على أنه SQL فقط (من دون أوامر وصفية على مستوى النص).
في clickhouse-client، لا يُتعرَّف عليه إلا في الوضع التفاعلي. ومع -q أو ملفات الاستعلامات، يظل clear يُفسَّر على أنه SQL، بحيث يحتفظ التشغيل الآلي بسلوك الخطأ السابق بدلًا من تحويل الأخطاء المطبعية إلى إجراء صامت بلا تأثير.
الصيغ المدعومة: clear وCLEAR و/clear (تُتجاهل الفاصلة المنقوطة اللاحقة ; إن وُجدت). إذا لم يكن الإخراج القياسي طرفيةً (على سبيل المثال، عند تمرير الإخراج عبر أنبوب)، فسيُقبَل الأمر الوصفي عند التعرّف عليه، لكنه لن يُصدر تسلسلات تحكم.
مع clickhouse-local و-q:
أمثلة
Query
Query
stdin أو الوسيطة --file، ويمكنك فتح أي عدد من الملفات باستخدام دالة الجدول file:
Query
Query
Response
- استخراج البيانات وتحويلها والاستعلام عنها من الملفات المحلية باستخدام clickhouse-local
- إدخال البيانات إلى ClickHouse - الجزء 1
- استكشاف مجموعات بيانات ضخمة من العالم الحقيقي: أكثر من 100 عام من سجلات الطقس في ClickHouse
- المدونة: استخراج البيانات وتحويلها والاستعلام عنها من الملفات المحلية باستخدام clickhouse-local