Genie هو محرك موحد لتنسيق وتنفيذ البيانات الضخمة تم تطويره بواسطة Netflix.
أفضل وصف لقيمة جيني هو من حيث المشكلة التي تحلها.
البنية التحتية للبيانات الضخمة معقدة ومتطورة باستمرار.
يحتاج مستهلكو البيانات (علماء البيانات أو التطبيقات الأخرى) إلى تجاوز الكثير من العقبات لتشغيل استعلام بسيط:
ما يصلح اليوم، قد لا يصلح غدا. ربما تم نقل المجموعة، وربما لم تعد الثنائيات متوافقة، وما إلى ذلك.
اضرب هذه النفقات العامة في عدد مستهلكي البيانات، وستؤدي إلى الكثير من الوقت الضائع (والحزن!).
يواجه موفرو البنية التحتية للبيانات مجموعة مختلفة من المشاكل:
تم تصميم الجني ليجلس على حدود هذين العالمين، ولتبسيط حياة الناس على كلا الجانبين.
يمكن لعالم البيانات أن "يفرك المصباح السحري" ويقول فقط "أيها الجني، قم بتشغيل الاستعلام 'Q' باستخدام محرك SparkSQL مقابل بيانات الإنتاج". تعتني جيني بكل التفاصيل الجوهرية. فهو يجمع الثنائيات والتكوينات الضرورية ديناميكيًا، وينفذ المهمة، ويراقبها، ويخطر المستخدم بإكمالها، ويجعل بيانات الإخراج متاحة للاستخدام الفوري والمستقبلي.
يعمل موفرو البنية التحتية للبيانات الضخمة مع Genie من خلال إتاحة الموارد للاستخدام (المجموعات والثنائيات وما إلى ذلك) وتوصيل المنطق السحري الذي لا يحتاج المستخدم إلى القلق بشأنه: ما هي المجموعة التي يجب توجيه استعلام معين إليها؟ ما هو إصدار الشرارة الذي يجب تنفيذ استعلام معين به؟ هل يُسمح لهذا المستخدم بالوصول إلى هذه البيانات؟ وما إلى ذلك، علاوة على ذلك، يتم تسجيل تفاصيل كل وظيفة لتدقيقها أو تصحيحها لاحقًا.
تم تصميم Genie من الألف إلى الياء ليكون مرنًا للغاية وقابلاً للتخصيص. لمزيد من التفاصيل قم بزيارة الوثائق الرسمية
يتم تشغيل تصميمات Genie على Travis CI هنا.
فرع | يبني | التغطية (coveralls.io) |
---|---|---|
رئيسي (4.2.x) | ||
4.1.x | ||
4.0.x |
genie-app
خادم خدمة Genie قائم بذاته.
genie-agent-app
منفذ وظيفة Genie CLI مكتفي بذاته.
genie-client
يتفاعل عميل Genie مع الخدمة عبر REST API.
genie-web
يمكن إعادة تغليف مكتبة الخادم الرئيسية لإدخال مكونات الخادم وتجاوزها.
genie-agent
يمكن إعادة تغليف مكتبة الوكيل الرئيسية لإدخال المكونات وتجاوزها.
genie-common
، genie-common-internal
، genie-common-external
مكتبات المكونات الداخلية المشتركة بين وحدات الخادم والوكيل والعميل.
genie-proto
يتم مشاركة تعريف رسائل Protobuf وخدمات gRPC بواسطة الخادم والوكيل. هذه ليست واجهة برمجة تطبيقات عامة مخصصة للاستخدام من قبل عملاء آخرين.
genie-docs
، genie-demo
التوثيق والتطبيق التجريبي.
genie-test
، genie-test-web
اختبار الفئات والأدوات المساعدة المشتركة بين الوحدات الأخرى.
genie-ui
واجهة مستخدم JavaScript للبحث وتصور الوظائف والمجموعات والأوامر.
genie-swagger
التكوين التلقائي لـ Swagger عبر Spring Fox. أضف إلى عنصر النشر النهائي للخادم لتمكينه.
تنشر Genie في Maven Central وDocker Hub
راجع القسم التجريبي من الوثائق للحصول على أمثلة. وإلى قسم الإعداد للحصول على تعليمات أكثر تفصيلاً لإعداد Genie.
تتم استضافة عميل Genie Python في مستودع مختلف.
للحصول على شرح تفصيلي لبنية Genie، وحالات الاستخدام، ووثائق واجهة برمجة التطبيقات (API)، والعروض التوضيحية، وأدلة النشر والتخصيص، والمزيد، قم بزيارة وثائق Genie.
للاتصال بمطوري Genie لطرح الأسئلة والاقتراحات، يرجى استخدام مشكلات GitHub