التصدير من Langfuse Cloud
اتبع هذا الدليل لتهيئة تكامل Blob Storage في Langfuse Cloud بهدف إجراء عمليات تصدير مجدولة. يمكنك جدولة تصدير بيانات التتبع إلى التخزين الكائني بوتيرة تصل إلى مرة كل20 minutes، أو وفق جدول hourly أو daily أو weekly. ويتضمن كل تصدير افتراضيًا observations الخاصة بك (مُثراةً بسمات التتبع) وscores.
بنية الملفات المُصدَّرة
يكتب تكامل Blob Storage في Langfuse Cloud البيانات إلى الحاوية (bucket) أو حاوية التخزين (storage container) الهدف وفق بنية الأدلة التالية:الاستيراد إلى ClickHouse Cloud
بعد تهيئة تكامل Blob Storage في Langfuse Cloud، ستُصدَّر بيانات التتبع دوريًا وفق جدول زمني إلى الحاوية (bucket) أو حاوية التخزين الهدف. ولاستيراد هذه البيانات إلى ClickHouse Cloud، يمكنك استخدام ClickPipes وموصلات التخزين الكائني المُدارة التي يوفرها:إنشاء ClickPipe
يستخدم هذا المثال S3 ClickPipe لاستيراد البيانات من حاوية S3 تستقبل عمليات تصدير مجدولة من Langfuse Cloud، ويمكن اعتماده نموذجًا لجميع وجهات التصدير إلى التخزين الكائني. وللاطلاع على إرشادات خاصة بكل مصدر بيانات، راجع وثائق ClickPipes.1
اختر مصدر البيانات
1. في ClickHouse Cloud، اختر Data sources من قائمة التنقل الرئيسية، ثم انقر على Create ClickPipe.
2. انقر على بطاقة Amazon S3. ويمكنك أيضًا استخدام هذه البطاقة للاتصال بخدمات أخرى متوافقة مع S3 غير مدرجة في واجهة ClickPipes.


2
إعداد الاتصال
1. املأ التفاصيل التي تحتاجها ClickPipes للاتصال بالحاوية التي تستقبل الملفات المُصدَّرة من Langfuse Cloud والمصادقة عليها.
3. انقر على Incoming data. ستجلب ClickPipes البيانات الوصفية من حاويتك، وتستنتج مخطط جدول الهدف في الخطوة التالية.
-
Authentication method: يدعم S3 ClickPipe بيانات اعتماد IAM (
Credentials) والمصادقة المستندة إلى دور IAM (IAM role). ولا تحتاج ClickPipes إلا إلى صلاحية القراءة على الحاوية. راجع الوثائق المرجعية للاطلاع على إرشادات المصادقة والأذونات. -
S3 file path: وجّه ClickPipe إلى دليل فرعي، واستخدم حرف البدل
*لمطابقة جميع الملفات المُصدَّرة. يجب إنشاء ClickPipe منفصل لكل دليل فرعي، نظرًا لاختلاف مخططات الملفات المُصدَّرة من دليل فرعي إلى آخر.راجع الوثائق المرجعية للاطلاع على إرشادات حول الأنماط المدعومة، بما في ذلك كيفية مطابقة الملفات عبر البادئات المتداخلة.

3
التحقق من صحة البيانات الواردة
1. ستتصل ClickPipes بحاوية التخزين الخاصة بك وتعرض الملفات الموجودة في المسار المحدد، مع استنتاج صيغة الملفات تلقائيًا. استخدمنا في هذا المثال صيغة ملفات التصدير الافتراضية في Langfuse Cloud (Parquet).
2. انقر على Parse information. ستستخدم ClickPipes ملفًا نموذجيًا لاستنتاج مخطط البيانات المُصدَّرة، ثم تربط حقول المصدر تلقائيًا بجدول الهدف في ClickHouse.

4
تهيئة الهدف
1. في هذه الخطوة، يمكنك مراجعة المخطط المستنتج وتخصيص تهيئة جدول الهدف، بما في ذلك ضبط مطابقة أنواع البيانات، وتحديد مفتاح الفرز، واختيار محرك الجدول.
ضمن Upload data to، أبقِ الخيار New table محددًا واضبط ما يلي:
تشمل نوافذ التصدير في تكامل Langfuse Cloud Blob Storage حدَّيها كليهما، لذا قد يظهر السجل نفسه في أكثر من ملف مُصدَّر. ما لم تكن أنماط استعلاماتك التحليلية متساوية القوى (مثل

-
Database وName: قاعدة بيانات مخصصة لبيانات Langfuse (مثل
langfuse)، واسم واضح للجدول الوجهة (مثلscores). تستخدم ClickPipes افتراضيًا الاسمdefault.s3-<uuid>لتجنب تعارض الأسماء. -
Sorting key: مفتاح الترتيب للجدول الوجهة، وهو الذي يحدد طريقة تخزين ClickHouse للبيانات على القرص. للحصول على أفضل أداء، ينبغي أن يتوافق مفتاح الفرز مع أنماط الوصول إلى بياناتك، بحيث تتمكن الاستعلامات من تجاوز قراءة أكبر قدر ممكن من البيانات.
يُستخدم هذا المفتاح أيضًا لإزالة التكرار في جداول
ReplacingMergeTree، لذا يجب أن تحدد مجموعة الأعمدة كل سجل تحديدًا فريدًا. إذا كنت تحمّل بيانات عدة مشاريع Langfuse في جدول واحد، فأضفproject_idفي بداية مفتاح الفرز. راجع الوثائق المرجعية للاطلاع على إرشادات اختيار مفتاح الفرز. -
Partition by: اتركه فارغًا ما لم تكن تنوي حذف بيانات التتبّع القديمة بعد انتهاء صلاحيتها. يُستخدم التقسيم في ClickHouse لإدارة البيانات لا لتحسين الاستعلامات؛ إذ إن مفتاح الفرز المقترح يقلّص أصلًا نطاق البيانات المقروءة في استعلامات الفترات الزمنية. أما إذا كنت بحاجة إلى سياسة احتفاظ، فقسّم حسب عمود الوقت (
toYYYYMM(start_time)، أوtoYYYYMM(timestamp)بالنسبة إلىscores)، بحيث يصبح حذف شهر كامل من بيانات التتبّع عمليةDROP PARTITIONواحدة.
ReplacingMergeTree لضمان إزالة التكرار، مع استخدام updated_at عمودًا لـ Version.
uniq() وmax() وmin())، يجب عليك معالجة إزالة التكرار ضمن نموذج البيانات اللاحق، باستخدام ReplacingMergeTree محركًا لجدول الهدف.إزالة التكرار باستخدام ReplacingMergeTreeيدمج محرك الجدول هذا السجلات المكررة عبر عمليات الدمج في الخلفية. ولإزالة التكرار بالكامل عند القراءة (أي اعتماد مبدأ الدمج عند القراءة)، يجب استخدام المُعدِّل
FINAL (أو تجميعات من نوع argMax()) عند تنفيذ الاستعلام.5
تهيئة الأذونات
تُنشئ ClickPipes مستخدمًا مخصصًا لكتابة البيانات في جدول الوجهة. اختر دورًا لهذا المستخدم الداخلي، إما دورًا مخصصًا أو أحد الأدوار المُعرَّفة مسبقًا:
انقر على Complete setup لإنشاء ClickPipe.
Full access: يمنح صلاحية وصول كاملة إلى العنقود. وهو مطلوب إذا كنت تستخدم عرضًا مُجسَّدًا أو قاموسًا مع جدول الوجهة.Only destination table: يمنح صلاحياتINSERTعلى جدول الوجهة فقط.

6
أكمل الإعداد
وبهذا يكون كل شيء جاهزًا! ستبدأ ClickPipes أولاً بتعبئة البيانات التاريخية (backfill) لجميع الملفات الموجودة في المسار المحدد، ثم تنتقل إلى استيعاب الملفات الجديدة فور وصولها إلى الحاوية.
كرّر الخطوات الواردة في هذا الشرح لكل دليل فرعي تريد استيراده إلى ClickHouse Cloud.
