يوضّح هذا الدليل كيفية ترحيل البيانات من Snowflake إلى ClickHouse.يتطلّب ترحيل البيانات بين Snowflake وClickHouse استخدام خدمة تخزين كائنات، مثل S3، كمساحة تخزين وسيطة لعملية النقل. كما تعتمد عملية الترحيل على استخدام الأمر
COPY INTO من Snowflake والأمر INSERT INTO SELECT
في ClickHouse.
تصدير البيانات من Snowflake
يتطلب تصدير البيانات من Snowflake استخدام مرحلة خارجية، كما هو موضح في المخطط أعلاه.لنفترض أننا نريد تصدير جدول من Snowflake بالمخطط التالي:us-east-1، سيستغرق نسخ البيانات إلى حاوية S3 حوالي 30 دقيقة.الاستيراد إلى ClickHouse
بمجرد تجهيز البيانات في تخزين كائنات وسيط، يمكن استخدام وظائف ClickHouse مثل s3 table function لإدراج البيانات في جدول، كما هو موضح أدناه.يستخدم هذا المثال s3 table function مع AWS S3، لكن يمكن استخدام gcs table function مع Google Cloud Storage، ويمكن استخدام azureBlobStorage table function مع Azure Blob Storage.بافتراض مخطط الجدول الهدف التالي:INSERT INTO SELECT لإدراج البيانات من S3 في جدول ClickHouse:ملاحظة حول بُنى الأعمدة المتداخلةسيتم إخراج العمودين
VARIANT وOBJECT في مخطط جدول Snowflake الأصلي كسلاسل JSON افتراضيًا، ما يفرض علينا تحويل نوعهما عند إدراجهما في ClickHouse.تُحوَّل البُنى المتداخلة مثل some_file إلى سلاسل JSON عند النسخ بواسطة Snowflake. ويتطلب استيراد هذه البيانات منا تحويل هذه البُنى إلى Tuple وقت الإدراج في ClickHouse، باستخدام JSONExtract function كما هو موضح أعلاه.اختبار نجاح تصدير البيانات
لاختبار ما إذا كانت بياناتك قد أُدرجت بشكل صحيح، ما عليك سوى تشغيل استعلامSELECT على جدولك الجديد: