Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

توصيل Airbyte بـ ClickHouse

تكامل شريك

Airbyte هي منصة مفتوحة المصدر لتكامل البيانات. تتيح إنشاء مسارات بيانات ELT، وتأتي مع أكثر من 140 موصلًا جاهزًا للاستخدام. يوضّح هذا الدليل العملي خطوة بخطوة كيفية توصيل Airbyte بـ ClickHouse كوجهة وتحميل مجموعة بيانات تجريبية.

نزّل Airbyte وشغّله

  1. يعمل Airbyte باستخدام Docker ويستخدم docker-compose. تأكد من تنزيل أحدث إصدارات Docker وتثبيتها.

  2. انشر Airbyte عبر استنساخ مستودع GitHub الرسمي وتشغيل docker-compose up في الطرفية التي تفضّلها:

    git clone https://github.com/airbytehq/airbyte.git --depth=1
    cd airbyte
    ./run-ab-platform.sh
  3. بمجرد ظهور شعار Airbyte في الطرفية، يمكنك الوصول إلى localhost:8000

    شعار Airbyte

إضافة ClickHouse كوجهة

في هذا القسم، سنوضح كيفية إضافة مثيل ClickHouse كوجهة.

  1. شغّل خادم ClickHouse لديك (يتوافق Airbyte مع ClickHouse بالإصدار 21.8.10.19 أو أحدث) أو سجّل الدخول إلى حسابك السحابي في ClickHouse:

    clickhouse-server start
  2. في Airbyte، انتقل إلى صفحة "Destinations" وأضف وجهة جديدة:

    إضافة وجهة في Airbyte
  3. اختر ClickHouse من القائمة المنسدلة "Destination type"، ثم املأ نموذج "Set up the destination" بإدخال اسم مضيف ClickHouse والمنافذ واسم قاعدة البيانات واسم المستخدم وكلمة المرور، وحدد ما إذا كان الاتصال من نوع SSL (وهو ما يعادل الخيار --secure في clickhouse-client):

    إنشاء وجهة ClickHouse في Airbyte
  4. تهانينا! لقد أضفت ClickHouse الآن كوجهة في Airbyte.

أضف مجموعة بيانات كمصدر

مجموعة البيانات التجريبية التي سنستخدمها هي بيانات سيارات الأجرة في مدينة نيويورك (على Github). في هذا الدليل العملي، سنستخدم مجموعة فرعية من هذه البيانات تخص شهر يناير 2022.

  1. من داخل Airbyte، انتقل إلى صفحة "Sources" وأضف مصدرًا جديدًا من نوع ملف.

    إضافة مصدر في Airbyte
  2. املأ نموذج "Set up the source" عبر تسمية المصدر وتوفير URL لملف NYC Taxi لشهر يناير 2022 (انظر أدناه). احرص على اختيار parquet كتنسيق الملف، وHTTPS Public Web كموفر التخزين، وnyc_taxi_2022 كاسم مجموعة البيانات.

    https://d37ci6vzurychx.cloudfront.net/trip-data/yellow_tripdata_2022-01.parquet
    إنشاء مصدر ClickHouse في Airbyte
  3. تهانينا! لقد أضفت الآن ملفًا مصدرًا في Airbyte.

إنشاء اتصال وتحميل مجموعة البيانات إلى ClickHouse

  1. ضمن Airbyte، انتقِل إلى صفحة "Connections" وأضِف اتصالًا جديدًا
أضِف اتصالًا في Airbyte
  1. حدِّد "Use existing source" ثم اختر New York City Taxi Data، ثم حدِّد "Use existing destination" واختر مثيل ClickHouse الخاص بك.

  2. املأ نموذج "Set up the connection" باختيار تكرار النسخ المتماثل (سنستخدم manual في هذا الدليل العملي)، ثم حدِّد nyc_taxi_2022 باعتباره الدفق الذي تريد مزامنته. وتأكد من اختيار Normalized Tabular Data كخيار للتطبيع.

إنشاء اتصال في Airbyte
  1. الآن بعد إنشاء الاتصال، انقر على "Sync now" لبدء تحميل البيانات (بما أننا اخترنا Manual كوتيرة للنسخ المتماثل)
زامن الآن في Airbyte
  1. سيبدأ تحميل بياناتك، ويمكنك توسيع العرض لرؤية سجلات Airbyte ومؤشر التقدّم. وعند اكتمال العملية، سترى الرسالة Completed successfully في السجلات:
اكتمل بنجاح
  1. اتصل بمثيل ClickHouse الخاص بك باستخدام عميل SQL المفضل لديك، ثم تحقق من الجدول الناتج:

    SELECT *
    FROM nyc_taxi_2022
    LIMIT 10

    يجب أن تكون الاستجابة على النحو التالي:

    Query id: 4f79c106-fe49-4145-8eba-15e1cb36d325
    
    ┌─extra─┬─mta_tax─┬─VendorID─┬─RatecodeID─┬─tip_amount─┬─airport_fee─┬─fare_amount─┬─DOLocationID─┬─PULocationID─┬─payment_type─┬─tolls_amount─┬─total_amount─┬─trip_distance─┬─passenger_count─┬─store_and_fwd_flag─┬─congestion_surcharge─┬─tpep_pickup_datetime─┬─improvement_surcharge─┬─tpep_dropoff_datetime─┬─_airbyte_ab_id───────────────────────┬─────_airbyte_emitted_at─┬─_airbyte_normalized_at─┬─_airbyte_nyc_taxi_2022_hashid────┐
    │     0 │     0.5 │        2 │          1 │       2.03 │           0 │          17 │           41 │          162 │            1 │            0 │        22.33 │          4.25 │               3 │ N                  │                  2.5 │ 2022-01-24T16:02:27  │                   0.3 │ 2022-01-24T16:22:23   │ 000022a5-3f14-4217-9938-5657f9041c8a │ 2022-07-19 04:35:31.000 │    2022-07-19 04:39:20 │ 91F83E2A3AF3CA79E27BD5019FA7EC94 │
    │     3 │     0.5 │        1 │          1 │       1.75 │           0 │           5 │          186 │          246 │            1 │            0 │        10.55 │           0.9 │               1 │ N                  │                  2.5 │ 2022-01-22T23:23:05  │                   0.3 │ 2022-01-22T23:27:03   │ 000036b6-1c6a-493b-b585-4713e433b9cd │ 2022-07-19 04:34:53.000 │    2022-07-19 04:39:20 │ 5522F328014A7234E23F9FC5FA78FA66 │
    │     0 │     0.5 │        2 │          1 │       7.62 │        1.25 │          27 │          238 │           70 │            1 │         6.55 │        45.72 │          9.16 │               1 │ N                  │                  2.5 │ 2022-01-22T19:20:37  │                   0.3 │ 2022-01-22T19:40:51   │ 00003c6d-78ad-4288-a79d-00a62d3ca3c5 │ 2022-07-19 04:34:46.000 │    2022-07-19 04:39:20 │ 449743975782E613109CEE448AFA0AB3 │
    │   0.5 │     0.5 │        2 │          1 │          0 │           0 │         9.5 │          234 │          249 │            1 │            0 │         13.3 │           1.5 │               1 │ N                  │                  2.5 │ 2022-01-22T20:13:39  │                   0.3 │ 2022-01-22T20:26:40   │ 000042f6-6f61-498b-85b9-989eaf8b264b │ 2022-07-19 04:34:47.000 │    2022-07-19 04:39:20 │ 01771AF57922D1279096E5FFE1BD104A │
    │     0 │       0 │        2 │          5 │          5 │           0 │          60 │          265 │           90 │            1 │            0 │         65.3 │          5.59 │               1 │ N                  │                    0 │ 2022-01-25T09:28:36  │                   0.3 │ 2022-01-25T09:47:16   │ 00004c25-53a4-4cd4-b012-a34dbc128aeb │ 2022-07-19 04:35:46.000 │    2022-07-19 04:39:20 │ CDA4831B683D10A7770EB492CC772029 │
    │     0 │     0.5 │        2 │          1 │          0 │           0 │        11.5 │           68 │          170 │            2 │            0 │         14.8 │           2.2 │               1 │ N                  │                  2.5 │ 2022-01-25T13:19:26  │                   0.3 │ 2022-01-25T13:36:19   │ 00005c75-c3c8-440c-a8e8-b1bd2b7b7425 │ 2022-07-19 04:35:52.000 │    2022-07-19 04:39:20 │ 24D75D8AADD488840D78EA658EBDFB41 │
    │   2.5 │     0.5 │        1 │          1 │       0.88 │           0 │         5.5 │           79 │          137 │            1 │            0 │         9.68 │           1.1 │               1 │ N                  │                  2.5 │ 2022-01-22T15:45:09  │                   0.3 │ 2022-01-22T15:50:16   │ 0000acc3-e64f-4b58-8e15-dc47ff1685f3 │ 2022-07-19 04:34:37.000 │    2022-07-19 04:39:20 │ 2BB5B8E849A438E08F7FCF789E7D7E65 │
    │  1.75 │     0.5 │        1 │          1 │        7.5 │        1.25 │        27.5 │           17 │          138 │            1 │            0 │        37.55 │             9 │               1 │ N                  │                    0 │ 2022-01-30T21:58:19  │                   0.3 │ 2022-01-30T22:19:30   │ 0000b339-b44b-40b0-99f8-ebbf2092cc5b │ 2022-07-19 04:38:10.000 │    2022-07-19 04:39:20 │ DCCE79199EF9217CD769EFD5271302FE │
    │   0.5 │     0.5 │        2 │          1 │          0 │           0 │          13 │           79 │          140 │            2 │            0 │         16.8 │          3.19 │               1 │ N                  │                  2.5 │ 2022-01-26T20:43:14  │                   0.3 │ 2022-01-26T20:58:08   │ 0000caa8-d46a-4682-bd25-38b2b0b9300b │ 2022-07-19 04:36:36.000 │    2022-07-19 04:39:20 │ F502BE51809AF36582561B2D037B4DDC │
    │     0 │     0.5 │        2 │          1 │       1.76 │           0 │         5.5 │          141 │          237 │            1 │            0 │        10.56 │          0.72 │               2 │ N                  │                  2.5 │ 2022-01-27T15:19:54  │                   0.3 │ 2022-01-27T15:26:23   │ 0000cd63-c71f-4eb9-9c27-09f402fddc76 │ 2022-07-19 04:36:55.000 │    2022-07-19 04:39:20 │ 8612CDB63E13D70C1D8B34351A7CA00D │
    └───────┴─────────┴──────────┴────────────┴────────────┴─────────────┴─────────────┴──────────────┴──────────────┴──────────────┴──────────────┴──────────────┴───────────────┴─────────────────┴────────────────────┴──────────────────────┴──────────────────────┴───────────────────────┴───────────────────────┴──────────────────────────────────────┴─────────────────────────┴────────────────────────┴──────────────────────────────────┘
    SELECT count(*)
    FROM nyc_taxi_2022

    تكون الاستجابة:

    Query id: a9172d39-50f7-421e-8330-296de0baa67e
    
    ┌─count()─┐
    │ 2392428 │
    └─────────┘
  2. لاحظ أن Airbyte استنتج تلقائيًا أنواع البيانات وأضاف 4 أعمدة إلى الجدول الهدف. تُستخدم هذه الأعمدة بواسطة Airbyte لإدارة منطق النسخ المتماثل وتسجيل العمليات. تتوفر المزيد من التفاصيل في وثائق Airbyte الرسمية.

        `_airbyte_ab_id` String,
        `_airbyte_emitted_at` DateTime64(3, 'GMT'),
        `_airbyte_normalized_at` DateTime,
        `_airbyte_nyc_taxi_072021_hashid` String

    الآن بعد تحميل مجموعة البيانات على مثيل ClickHouse لديك، يمكنك إنشاء جدول جديد واستخدام أنواع بيانات أكثر ملاءمة في ClickHouse (مزيد من التفاصيل).

  3. تهانينا - لقد نجحت في تحميل بيانات سيارات الأجرة في مدينة نيويورك إلى ClickHouse باستخدام Airbyte!

Navigation