ETL بسيط وقابل للتكوين ومفتوح المصدر ينقل البيانات بين أي مصدر ووجهة باستخدام أنابيب يونكس وJSON.
Singer هو معيار ETL مفتوح المصدر يستخدم الصنابير والأهداف لنقل البيانات بين أي مصدر ووجهة عبر أنابيب يونكس وJSON. يوفر طريقة بسيطة وقابلة للتكوين وفعالة لبناء خطوط أنابيب البيانات دون إضافات معقدة.
يوفر Singer بروتوكولًا موحدًا لاستخراج البيانات (الصنابير) وتحميلها (الأهداف). تقوم الصنابير باستخراج البيانات من أي مصدر وكتابتها إلى المخرج القياسي بتنسيق JSON. تقرأ الأهداف من الإدخال القياسي وتحميل البيانات إلى أي وجهة. تسمح هذه البنية القائمة على الأنابيب بدمج أي صنبور مع أي هدف، مما يتيح إمكانيات لا حصر لها لنقل البيانات.
لاستخدام Singer، تقوم بتثبيت صنبور وهدف عبر pip، ثم توصيلهما بأنبوب. على سبيل المثال، tap-exchangeratesapi | target-csv يسحب أسعار صرف العملات إلى ملف CSV. يدعم Singer الاستخراج التدريجي عن طريق الاحتفاظ بالحالة بين عمليات التشغيل، بحيث تجلب البيانات الجديدة أو المتغيرة فقط. يتضمن النظام البيئي مئات الصنابير والأهداف الجاهزة للخدمات الشهيرة مثل Google Analytics وFacebook Ads وMySQL وغيرها.
Singer ليس مجرد أداة ETL أخرى؛ إنه معيار يعيد تعريف كيفية بناء وتكوين نصوص نقل البيانات. لقد استخدمته لسحب بيانات من Google Analytics إلى قاعدة بيانات PostgreSQL، ومزامنة بيانات إعلانات Facebook إلى ملف CSV للتحليل، وحتى توجيه بيانات webhook إلى بحيرة بيانات. تصميمه المستوحى من يونكس يعني أنه يمكنك ربط الصنابير والأهداف بطرق لم يتخيلها المؤلفون الأصليون. بالنسبة للفرق التي تعيش بالفعل في سطر الأوامر، يبدو Singer امتدادًا طبيعيًا لسير عملهم. إنه قوي بشكل خاص لعمليات ترحيل البيانات لمرة واحدة، والمزامنات التدريجية المجدولة، ونمذجة خطوط أنابيب البيانات قبل الالتزام بمنصة أثقل.
البدء مع Singer سهل. أولاً، قم بتثبيت صنبور وهدف باستخدام pip. على سبيل المثال، لسحب أسعار الصرف إلى ملف CSV: pip install tap-exchangeratesapi target-csv. ثم، قم بتشغيل الصنبور وتوجيه مخرجاته إلى الهدف: tap-exchangeratesapi | target-csv. سيقوم الهدف بإنشاء ملف CSV بالبيانات. للمزامنات التدريجية، يمكنك تمرير ملف حالة لاستئناف العمل من حيث توقفت. تحقق من دليل Singer لمئات الصنابير والأهداف الجاهزة.
واحدة من أفضل ميزات Singer هي إدارة الحالة. احفظ الحالة دائمًا بعد كل تشغيل لتمكين المزامنات التدريجية الفعالة. يمكنك أيضًا كتابة صنابير وأهداف مخصصة بأي لغة يمكنها قراءة/كتابة JSON إلى stdout/stdin. للتحويلات المعقدة، قم بتوجيه المخرجات عبر سكريبت مخصص قبل الهدف. استخدم العلم --config لتمرير ملفات التكوين للصنابير والأهداف، مع إبقاء الأسرار خارج تاريخ الأوامر.
Singer هو معيار ETL رائع وخفيف الوزن يتفوق في البساطة وقابلية التكوين. إنه مثالي للمطورين الذين يرغبون في نقل البيانات دون عبء منصة ETL كاملة. نقص الواجهة الرسومية ومعالجة الأخطاء المحدودة هي مقايضات لمرونته وتكلفته الصفرية. إذا كنت مرتاحًا لسطر الأوامر وتحتاج إلى حل قابل للبرمجة ومفتوح المصدر لنقل البيانات، فإن Singer هو خيار ممتاز. للفرق التي تحتاج إلى منشئي خطوط أنابيب مرئية أو دعم مؤسسي، ابحث في مكان آخر.