الانتقال إلى المحتوى الرئيسي

السؤال

كيف أتعامل مع رسالة JSON باستخدام مصدر أو جدول وسيط لاستخراج البيانات عبر عرض مادي؟ كيف أتعامل مع JSON من دون كائن JSON التجريبي؟

الإجابة

من الأنماط الشائعة للتعامل مع بيانات JSON إرسالها إلى جدول وسيط، ثم استخدام دوال JSONExtract لاستخراج البيانات إلى جدول جديد عبر مُشغِّل عرض مادي. ويتم ذلك عادةً وفق التدفق والنمط التاليين:
يجب أن يحتوي الجدول الوسيط على حقل نصي raw تُخزَّن فيه بيانات JSON الخام. كما ينبغي أن يحتوي أيضًا على حقل أو حقلين إضافيين يمكن استخدامهما لإدارة هذا الجدول، بحيث يمكن تقسيمه وحذف البيانات الأقدم منه مع تقادم البيانات. *يمكن لبعض عمليات التكامل إضافة حقول إلى البيانات الأصلية، على سبيل المثال عند استخدام ClickHouse Kafka Connector Sink. مثال مبسّط أدناه:
  • أنشئ قاعدة البيانات التجريبية
  • أنشئ جدول وسيط تُدرج فيه بيانات json الأولية الخاصة بك:
  • أنشئ الجدول الأساسي الخاص بالعرض المادي
  • أنشئ العرض المادي استنادًا إلى الجدول الأساسي
  • أدرِج بعض الصفوف النموذجية
  • عرض نتائج الاستخراج والعرض المادي الذي سيُستخدم في الاستعلامات
روابط مرجعية إضافية: العروض المادية: https://clickhouse.com/docs/guides/developer/cascading-materialized-views العمل مع JSON: https://clickhouse.com/docs/integrations/data-formats/json#other-approaches دوال JSON: https://clickhouse.com/docs/sql-reference/functions/json-functions
آخر تعديل في ٢ يوليو ٢٠٢٦