المتطلبات الأساسية
إنشاء أول ClickPipe لك
- افتح SQL Console الخاصة بخدمة ClickHouse Cloud لديك.
- حدِّد زر
Data Sourcesمن القائمة الجانبية اليسرى، ثم انقر على “إعداد ClickPipe”
- حدِّد مصدر البيانات.
- املأ النموذج بإدخال اسم لـ ClickPipe ووصف له (اختياري)، ودور IAM أو بيانات الاعتماد الخاصة بك، بالإضافة إلى تفاصيل الاتصال الأخرى.
-
حدِّد تدفق Kinesis وتنسيق البيانات وإزاحة البدء. بالنسبة إلى
Protobuf، ارفع ملف.protoأوFileDescriptorSetمُسلسلًا (بحد أقصى 768 KiB). ولا يُشترط وجود schema registry. تعرض واجهة المستخدم بيانات العينة من التدفق المحدد. ويكون خيار Use Kinesis Enhanced Fan-Out مُمكّنًا افتراضيًا. راجع توثيق Amazon Kinesis لمزيد من التفاصيل.
- في الخطوة التالية، يمكنك اختيار ما إذا كنت تريد إدخال البيانات إلى جدول ClickHouse جديد أو إعادة استخدام جدول موجود. اتبع الإرشادات الظاهرة على الشاشة لتعديل اسم الجدول والمخطط والإعدادات. ويمكنك رؤية معاينة فورية لتغييراتك في الجدول النموذجي بالأعلى.
- أو يمكنك اختيار إدخال بياناتك في جدول ClickHouse موجود. في هذه الحالة، ستتيح لك واجهة المستخدم تعيين حقول المصدر إلى حقول ClickHouse في الجدول الوجهة المحدد.
- أخيرًا، يمكنك تهيئة الأذونات لمستخدم ClickPipes الداخلي.
Full access: وصول كامل إلى العنقود. قد يكون ذلك مفيدًا إذا كنت تستخدم عرض مُجسَّد أو Dictionary مع الجدول الوجهة.Only destination table: مع أذوناتINSERTعلى الجدول الوجهة فقط.
- عند النقر على “إكمال الإعداد”، سيسجّل النظام ClickPipe الخاص بك، وستتمكن من رؤيته مُدرجًا في جدول الملخص.
- تهانينا! لقد أعددت أول ClickPipe بنجاح. إذا كان هذا ClickPipe من نوع streaming، فسيستمر في العمل بشكل متواصل مع إدخال البيانات في الوقت الفعلي من مصدر البيانات البعيد لديك. أما إذا لم يكن كذلك، فسيُدخل الدفعة ثم يكتمل.
تنسيقات البيانات المدعومة
الضغط
- gzip
- zstd
- lz4
- snappy (تنسيق مؤطر)
يُعد الاكتشاف التلقائي آمنًا للتنسيقات النصية مثل JSON وCSV، لأن محارف ASCII القابلة للطباعة لن تتطابق أبدًا مع البايتات السحرية الخاصة بالضغط.
أنواع البيانات المدعومة
دعم الأنواع القياسية
- الأنواع الرقمية الأساسية - [U]Int8/16/32/64، وFloat32/64، وBFloat16
- أنواع الأعداد الصحيحة الكبيرة - [U]Int128/256
- أنواع Decimal
- Boolean
- String
- FixedString
- Date وDate32
- DateTime وDateTime64 (المناطق الزمنية UTC فقط)
- Enum8/Enum16
- معرّف UUID
- IPv4
- IPv6
- جميع أنواع LowCardinality في ClickHouse
- Map بمفاتيح وقيم من أيٍ من الأنواع المذكورة أعلاه (بما في ذلك Nullable)
- Tuple وArray بعناصر من أيٍ من الأنواع المذكورة أعلاه (بما في ذلك Nullable، وبعمق مستوى واحد فقط)
- أنواع SimpleAggregateFunction (لوجهات AggregatingMergeTree أو SummingMergeTree)
دعم النوع Variant
Variant(String, Int64, DateTime)) لأي حقل JSON
في تدفق بيانات المصدر. ونظرًا إلى الطريقة التي يحدد بها ClickPipes النوع الفرعي الصحيح ضمن Variant لاستخدامه، لا يمكن استخدام أكثر من نوع عدد صحيح واحد أو نوع DateTime واحد
في تعريف Variant — على سبيل المثال، Variant(Int64, UInt32) غير مدعوم.
دعم نوع JSON
الأعمدة الافتراضية لـ Kinesis
Add Column.
يمكن استخدام الحقل _raw_message في الحالات التي تكون فيها الحاجة إلى سجل JSON كامل من Kinesis فقط (مثل استخدام دوال ClickHouse
JsonExtract* لملء عرض مُجسَّد
لاحق). بالنسبة إلى مثل هذه الـ pipes، قد يؤدي حذف جميع الأعمدة “غير الافتراضية” إلى تحسين أداء ClickPipes.
القيود
- DEFAULT غير مدعوم.
- يقتصر حجم كل رسالة افتراضيًا على 16MB (غير مضغوط) عند التشغيل بأصغر حجم نسخة متماثلة (XS)، وعلى 32MB (غير مضوط) مع النسخ المتماثلة الأكبر. وستُرفض الرسائل التي تتجاوز هذا الحد مع ظهور خطأ. إذا كنت بحاجة إلى رسائل أكبر، يُرجى التواصل مع فريق الدعم.
الأداء
التجميع على دفعات
- عندما يبلغ حجم الدفعة الحد الأقصى (100,000 صف أو 32MB لكل 1GB من ذاكرة النسخة المتماثلة)
- عندما تظل الدفعة مفتوحة للمدة القصوى (5 ثوانٍ)