المنشطات للتحليلات: لماذا يجب الانتباه إلى Apache Zeppelin

عاجلاً أم آجلاً ، يأتي الجميع إلى التحليلات للحصول على البيانات. في الألعاب متعددة اللاعبين الكبيرة (ولاعب واحد أيضًا) بدون ذلك ، لا يوجد مكان تذهب إليه. كم عدد المستخدمين الذين يفضلون الوضع الجديد ؛ أين نقاط الضعف في تحقيق الدخل ؛ مكان مشاهدة مصممي الألعاب لزيادة مشاركة اللاعبين ؛ ومليون شيء آخر - كل شيء محسوب. وكل هذا يؤثر على القرارات التي يتخذها المطورون.

لكنهم ينفذون التحليلات بطرق مختلفة: يشتري شخص ما حلولًا من جهات خارجية (بسيطة ، لكنها غير مرنة) ، ويكتب شخص ما عن نفسه (طويلًا ومكلفًا) ، بينما يفكر شخص ما في عدة مقاييس أساسية من قبل المبرمجين ولا يزعج نفسه.

لذلك ، سأتحدث عن أداة ستكون مفيدة للجميع. سيتمكن أولئك الذين بدأوا للتو في بناء التحليلات من إنشاء نظام "من الركبة" من الصفر ، وستتمكن الشركات التي لديها حلول جاهزة من "تعزيز" نهجها.

حول أباتشي زيبلين . هذا هو غلاف تفاعلي متعدد الوظائف يتيح لك الاستعلام عن مصادر البيانات المختلفة ، ومعالجة وتصور النتائج.

التناظرية القريبة إلى حد ما هي Jupyter Notebook ، لكن Zeppelin تم ضبطه إلى حد ما للعمل مع قواعد البيانات. يستخدم مفهوم "المترجمين" - الإضافات التي توفر خلفية للغة و / أو قاعدة بيانات.

يبدو Zeppelin ، مثل Jupyter ، للمستخدم وكأنه مجموعة من ملفات دفتر الملاحظات ، تتكون من فقرات تتم كتابة الطلبات وتنفيذها. باستخدام المرئيات المدمجة ، يمكن بسهولة تحويل جهاز كمبيوتر محمول يحتوي على مجموعة من الاستعلامات إلى لوحة بيانات كاملة.



لن نتعامل عمدًا مع مشكلات التثبيت والتكوين - هذا موجود في الوثائق الموجودة على الموقع وعلى الشبكة ، يمكنك العثور على العديد من البرامج التعليمية لقواعد البيانات المختلفة. الغرض من المقالة هو التحدث عن جانب المستخدم من المشكلة والتطبيقات المثيرة للاهتمام للأداة (بما في ذلك ليست الأكثر وضوحًا) والفوائد التي يمكن للمحللين استخلاصها منها ، بغض النظر عن الحل الذي يستخدمونه بالفعل.

كمثال ، سأخبرك لماذا نستخدمه في Pixonic (فقط عندما يكون لدى الشركة بالفعل نظام تحليلات إنتاجية خاص بها).

لذا ، دعنا نذهب بالترتيب.

Omnivore Zeppelin


دمج مصادر البيانات المختلفة - داخل لوحة تحكم واحدة
- إحدى مزاياها الرئيسية. كجزء من التجميع القياسي ، يتم تضمين مجموعة رائعة من المترجمين (لقواعد البيانات NoSQL وقواعد البيانات العلائقية).

عملياً ، يعطي هذا ما يلي:

  1. يمكن لمعظم الشركات التي لديها قواعد بيانات وأنظمة تحليلات موجودة استخدامها "خارج الصندوق" (بقدر ما ينطبق ذلك على منتج مفتوح المصدر ، heh). يمكن لعشاق قواعد البيانات الأكثر غرابة كتابة المترجم بأنفسهم ، حيث توجد مقالة على موقع الويب الخاص بالمنتج.
  2. يمكن للشركات الصغيرة ، إذا رغبت في ذلك ، بناء نظام تحليلاتها حصريًا من قاعدة البيانات و Zeppelin كواجهة.
  3. كما تظهر تجربة التواصل مع الزملاء ، بالنسبة للكثيرين ، يمكن تدفق البيانات من مصادر مختلفة ، وتخزينها في قواعد بيانات مختلفة (le-e-gashi!) ، يمكن لشخص ما استخدام خدمات تحليلات إضافية من جهة خارجية. وبناءً على ذلك ، يتحمل المحللون في بعض الأحيان مهمة "تكوين صداقات" لمثل هذه الوسيلة فيما بينهم. يسمح لك Zeppelin باستخدام مترجمك الخاص لكل فقرة داخل دفتر ملاحظات واحد ، والذي سيسمح لك بعرض نتائج الاستعلامات إلى مصادر مختلفة في مكان واحد.



Zeppelin + Python / R


Zeppelin ليس فقط واجهة ويب لقواعد بيانات مختلفة ، ولكنه يمكن أن يكون بمثابة غلاف تفاعلي لتنفيذ البرامج النصية بلغات البرمجة. يتضمن مترجمين لـ R و Python ، لذلك قد يكون بديلاً عن RStudio و Jupyter المعتاد. نعم ، يوفر ميزات أقل من IDE المتخصصة (على سبيل المثال ، لا يوجد استبدال تلقائي) ، ولكن يتم تعويض ذلك من خلال المزايا ، التي سنناقشها أدناه.

بالاشتراك مع نفس Python ، تزداد قوة Zeppelin عدة مرات: هنا لديك القدرة على تلقي بيانات API من خدمات الطرف الثالث (مرحبا بالفقرة السابقة) ، والقدرة على معالجة البيانات بالإضافة إلى استعلامات قاعدة البيانات العادية ، وكذلك أتمتة هذه العمليات. يدعم Zeppelin تحديث لوحات التحكم عن طريق التاج دون إيماءات غير ضرورية (مرة أخرى ، تظهر نظرة سريعة على قرارات الزملاء أن هذه المهمة التافهة التي تبدو في بعض الأحيان يجب حلها بطرق ماكرة للغاية). حسنًا ، بالنسبة للحلو: يحتوي على نظام تحكم مدمج في الإصدار - بدائي ، ولكنه كافٍ لمعظم مهام التحليلات.

نحن في الشركة نستخدم Python بنشاط مع AppMetr (نظام التحليلات الداخلية) لمعالجة البيانات المعقدة. لذلك ، ظهرت فكرة تجربة Zeppelin تحديدًا فيما يتعلق بالنصوص البرمجية الخاصة بنا - لقد رأينا ذلك على أنه احتمال لتبسيط عدد من الإجراءات المتعلقة ، على سبيل المثال ، لتصور النتائج.

تصور كل شيء في العالم - بنقرة واحدة


يمكن لـ Zeppelin عرض البيانات المعروضة في فقرة في شكل العديد من المتخيلين الأساسيين الذين يعملون وفقًا لمبدأ الرسوم البيانية الموجزة: في الواجهة ، يتم تحديد الحقول التي سيتم بناء المحاور عليها وكيفية تجميع القيم المعروضة. الرسوم البيانية الناتجة قابلة للنقر وتسهل عرض البيانات في أقسام مختلفة.

تغطي هذه الوظيفة التي تبدو متواضعة ما يصل إلى 95٪ من مهام المحللين في تصور النتائج. يمكنك إيقاف التصدير اللانهائي للتنزيلات إلى Excel فقط من أجل الرسوم البيانية ، وحتى ننسى كلمات مخيفة مثل matplotlib و bokeh و ggplot2 - تتحول نتائج البرامج النصية أيضًا إلى رسوم بيانية ببضع نقرات.

ومع ذلك ، للحصول على تصورات أكثر تعقيدًا ، يمكن تذكر أسماء المكتبات الرسومية مرة أخرى - لدى Zeppelin تكامل مدمج مع المكتبات الرسومية الأكثر شيوعًا لـ Python و R:



التعاون وتكوين الواجهة


يمكن أن يعمل Zeppelin محليًا ويتم استخدامه ببساطة كأداة تحليلية ، ولكن إذا قمت بنشره على خادم ، يمكنك تحويله إلى خدمة تحليلية مشتركة مع تفويض عبر LDAP وإعدادات الوصول إذا كنت ترغب في ذلك. اعتمادًا على احتياجات التحليلات ، يمكن أن تعمل كمجموعة من لوحات التحكم لمقاييس المشروع ، بالإضافة إلى مستودع عام للبرامج النصية والتنزيلات ، أو ، على سبيل المثال ، مساحة للمحللين للعمل معًا. مكافأة لطيفة: ليست هناك حاجة لتبادل أي ملفات أو بدء رصيف جديد في Confluence - يمكنك ببساطة إسقاط الرابط إلى لوحة القيادة.

في هذا الجانب ، تلعب المرونة في تخصيص الواجهة والقدرة على إنشاء نماذج بسيطة لإدخال القيم دورًا مهمًا. بالطبع ، يشعر المحللون بالراحة عند رؤية استعلامات SQL ورمز R ، ولكن هذا يمكن أن يدفع المستخدمين غير المستعدين إلى الذهول. لذلك ، في لوحة معلومات Zeppelin ، يمكنك إخفاء الرمز (الذي ، على سبيل المثال ، يمثل مشكلة بالنسبة إلى Jupyter) ، وإنشاء حقول لإدخال التواريخ والمعلمات المتغيرة الأخرى ، وإعطاء العميل نموذجًا أنيقًا ومفهومًا.

في شركتنا ، ترتبط العديد من العمليات بالتحليلات ، وبالتالي ، تحتاج الإدارات المختلفة بشكل دوري إلى بعض التفريغ المحدد ، على سبيل المثال ، إعادة حساب جدول الموازنة وفقًا لأحدث البيانات. تمت كتابة البرامج النصية لمثل هذه الأشياء لفترة طويلة ، ولكن يجب على شخص آخر تشغيلها. هل سبق لك أن حاولت تعليم 20 من مصممي الألعاب كيفية استخدام Jupyter؟ ونتيجة لذلك ، قمنا بحل هذه المشكلة بأناقة عن طريق نقل البرامج النصية إلى Zeppelin ، حيث ، على سبيل المثال ، يمكن DGs الحصول على البيانات التي يحتاجونها بمجرد النقر على زر واحد. أو ليس واحدًا:



ما هو مهم للغاية في هذه اللحظة هو أن كل إعداد الواجهة والتكوين يتم حصريًا من قبل المحللين أنفسهم ، دون إشراك المبرمجين (أو لا سمح الله ، خنادق UX).

فوائد العمليات المتوازية


يعمل Zeppelin في عدة عمليات ، تليها مكافأة مثيرة للاهتمام - يسمح لك بتشغيل مثيل Python منفصل لكل كمبيوتر محمول ولكل مستخدم. وبالتالي ، بدون إعدادات صعبة ، يمكنك تشغيل العديد من النصوص البرمجية الضخمة للمعالجة بالتوازي - فقط من خلال القيام بذلك في أجهزة كمبيوتر محمولة مختلفة ، ومواصلة العمل دون انتظار الانتهاء. يعمل هذا أيضًا في حالة النسخة المحلية ، وعند النشر على الخادم ، من الممكن أخذ جزء من الحسابات من أجهزة الكمبيوتر المحلية بشكل عام ، وتنفيذها على الخادم.



تضمين الفقرات في المواقع



إذا كان لديك Zeppelin تم نشره على الخادم ، يمكنك الحصول على رابط إلى أي من فقراتك (مع نتائج الاستعلام أو رسم بياني) ونشره كإطار iframe على الموقع (يتم ذلك ببساطة شديدة ، يحتوي الموقع على برنامج تعليمي). من الناحية العملية ، نادرًا ما يحتاج المحللون إلى نشر بعض النتائج على الموارد الخارجية ، ولكن يمكن أن يكون مناسبًا جدًا لإضافة مرئيين إلى الخدمات الداخلية (في نفس التقارب). لذا يمكنك إنشاء تقارير تحتوي على نماذج تفاعلية ومرئيات مباشرة في النص.

تقارير تصف نفسها بنفسها


يسمح لك دعم خفض السعر بإضافة فقرات بنص منسق إلى لوحات المعلومات ، بالإضافة إلى الرسوم البيانية والجداول. ونتيجة لذلك ، يمكنك عمل تقارير مرئية بأوصاف ، حيث يمكن للمستخدم رؤية البيانات على الفور حول بعض المشاكل ، ورؤيتها كلها على الرسوم البيانية وقراءة تفسير النتائج من المحللين. على عكس Jupyter ، التي لديها أيضًا دعم تخفيض السعر ، يجعل Zeppelin الأشكال التفاعلية وتصور النتائج أسرع بكثير ، والنتيجة أكثر دقة ويمكن الوصول إليها من قبل المستخدم النهائي ، وهو أمر مهم.

وبالتالي ، فهو بديل سريع وواضح للبحث المعتاد للمحللين. كقاعدة ، يتم تنظيم عمل المحللين على النحو التالي: يتم تكليف المحللين بمهمة دراسة بعض جوانب اللعبة. يقومون بإعداد البيانات واختبار الفرضيات وتصور النتائج الداعمة ، على سبيل المثال ، مع الرسوم البيانية وكتابة تقرير (على سبيل المثال ، في التقاء). هذه عملية صحيحة ، لكنها مضنية. في حالتنا ، يمكنك ، دون إضاعة الوقت ، رسم جهاز كمبيوتر محمول مع هذه التفريغ والبرامج النصية ، وتوضيح النتائج على الفور مع الرسوم البيانية ، ووصف استنتاجاتك في الفقرات التالية:



بالطبع ، لدى Zeppelin شيئًا يجب تأنيبه ، فهو لا يزال لا يعمل دائمًا بشكل ثابت (لا يزال مصدرًا مفتوحًا) ، واجهة الويب تستهلك الكثير من ذاكرة الوصول العشوائي ، قد يفتقر شخص ما إلى وظائف IDE كاملة. ولكن هناك بالفعل عدد من حالات المستخدم المثيرة للاهتمام حيث يمكن أن تكون مفيدة - لأنها تستحق بالتأكيد اهتمام المحللين ( وبالطبع ، كلما كان المجتمع أكبر ، كلما أصبح أفضل في المستقبل ).

بالنسبة للشركات الصغيرة ، يمكن أن تصبح الأداة الرئيسية ، لأنها تتيح لك إضافة نظام تحليلات كامل عبر قاعدة البيانات. بالنسبة للشركات الكبيرة التي لديها مجموعة أدوات تحليلات حالية - إضافة مفيدة لن تحل محل النظام الرئيسي ، ولكنها ستوفر العديد من المزايا المفيدة.

Source: https://habr.com/ru/post/ar414921/


All Articles