Airbyte هي منصة مفتوحة المصدر لتكامل البيانات. تتيح إنشاء مسارات بيانات ELT، وتأتي مع أكثر من 140 موصلًا جاهزًا للاستخدام. يوضّح هذا الدليل العملي خطوة بخطوة كيفية توصيل Airbyte بـ ClickHouse كوجهة وتحميل مجموعة بيانات تجريبية.
نزّل Airbyte وشغّله
-
يعمل Airbyte باستخدام Docker ويستخدم
docker-compose. تأكد من تنزيل أحدث إصدارات Docker وتثبيتها. -
انشر Airbyte عبر استنساخ مستودع GitHub الرسمي وتشغيل
docker-compose upفي الطرفية التي تفضّلها:git clone https://github.com/airbytehq/airbyte.git --depth=1 cd airbyte ./run-ab-platform.sh -
بمجرد ظهور شعار Airbyte في الطرفية، يمكنك الوصول إلى localhost:8000

إضافة ClickHouse كوجهة
في هذا القسم، سنوضح كيفية إضافة مثيل ClickHouse كوجهة.
-
شغّل خادم ClickHouse لديك (يتوافق Airbyte مع ClickHouse بالإصدار
21.8.10.19أو أحدث) أو سجّل الدخول إلى حسابك السحابي في ClickHouse:clickhouse-server start -
في Airbyte، انتقل إلى صفحة "Destinations" وأضف وجهة جديدة:

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

-
املأ نموذج "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
-
تهانينا! لقد أضفت الآن ملفًا مصدرًا في Airbyte.
إنشاء اتصال وتحميل مجموعة البيانات إلى ClickHouse
- ضمن Airbyte، انتقِل إلى صفحة "Connections" وأضِف اتصالًا جديدًا

-
حدِّد "Use existing source" ثم اختر New York City Taxi Data، ثم حدِّد "Use existing destination" واختر مثيل ClickHouse الخاص بك.
-
املأ نموذج "Set up the connection" باختيار تكرار النسخ المتماثل (سنستخدم
manualفي هذا الدليل العملي)، ثم حدِّدnyc_taxi_2022باعتباره الدفق الذي تريد مزامنته. وتأكد من اختيارNormalized Tabular Dataكخيار للتطبيع.

- الآن بعد إنشاء الاتصال، انقر على "Sync now" لبدء تحميل البيانات (بما أننا اخترنا
Manualكوتيرة للنسخ المتماثل)

- سيبدأ تحميل بياناتك، ويمكنك توسيع العرض لرؤية سجلات Airbyte ومؤشر التقدّم. وعند اكتمال العملية، سترى الرسالة
Completed successfullyفي السجلات:

-
اتصل بمثيل 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 │ └─────────┘ -
لاحظ أن 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 (مزيد من التفاصيل).
-
تهانينا - لقد نجحت في تحميل بيانات سيارات الأجرة في مدينة نيويورك إلى ClickHouse باستخدام Airbyte!