كيفية البحث بسرعة وسهولة عن البيانات باستخدام Whale



توضح هذه المقالة أبسط وأسرع أداة لاكتشاف البيانات التي تراها تعمل على KDPV. ومن المثير للاهتمام أن الحوت مصمم ليتم استضافته على خادم بوابة بعيد. التفاصيل تحت الخفض.



كيف غيرت أداة اكتشاف البيانات في Airbnb حياتي



في مسيرتي المهنية ، كنت محظوظًا بما يكفي للعمل على بعض المشكلات الممتعة: لقد درست رياضيات التدفق خلال شهادتي في معهد ماساتشوستس للتكنولوجيا ، وعملت على نماذج تدريجية ومع مشروع pylift مفتوح المصدر في Wayfair ، وقدمت نماذج استهداف الصفحة الرئيسية الجديدة وتحسينات CUPED على Airbnb. لكن كل هذا العمل لم يكن ساحرًا أبدًا - في الواقع ، غالبًا ما أمضيت معظم وقتي في البحث عن البيانات واستكشافها والتحقق منها. بينما كانت هذه حالة مستمرة في العمل ، لم يخطر ببالي أنها كانت مشكلة حتى وصلت إلى Airbnb ، حيث تم حلها باستخدام أداة اكتشاف البيانات ، Dataportal .



أين يمكنني أن أجد {{data}}؟ بوابة البيانات .

ماذا يعني هذا العمود؟ بوابة البيانات .

كيف حال {{metric}} اليوم؟ بوابة البيانات .

ما معنى الحياة؟ في Dataportal ، على الأرجح.


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



ما هي المشكلة؟



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



الحوت: أداة اكتشاف بيانات سخيفة







ونعم ، أعني ببساطة الغباء البسيط إلى الغباء. يحتوي الحوت على مكونين فقط:



  1. مكتبة Python تجمع البيانات الوصفية وتنسيقها في MarkDown.
  2. الصدأ واجهة سطر الأوامر للبحث في هذه البيانات.


من وجهة نظر البنية التحتية الداخلية ، لا يوجد سوى الكثير من الملفات النصية وبرنامج تحديث النصوص للصيانة. هذا كل شيء ، لذا فإن الاستضافة على خادم git مثل Github أمر تافه. لا توجد لغة استعلام جديدة للتعلم ، ولا بنية أساسية للإدارة ، ولا نسخ احتياطية. Git معروف للجميع ، لذا فإن المزامنة والتعاون مجانيان. دعونا نلقي نظرة فاحصة على وظائف Whale v1.0 .



واجهة المستخدم الرسومية كاملة المواصفات القائمة على بوابة



تم تصميم Whale للإبحار في محيط خادم بوابة بعيد. من السهل جدًا التهيئة: حدد بعض الاتصالات ، وانسخ البرنامج النصي Github Actions (أو اكتبه لمنصة CI / CD التي اخترتها) ولديك أداة اكتشاف البيانات المستندة إلى الويب على الفور. ستتمكن من البحث عن الجداول الخاصة بك وعرضها وتوثيقها ومشاركتها مباشرة على Github.





مثال على جدول كعب تم إنشاؤه باستخدام إجراءات Github. راجع هذا القسم للحصول على عرض عمل كامل .



ابحث CLI بسرعة البرق عن مستودعك



يعيش الحوت ويتنفس في سطر الأوامر ، مما يوفر عمليات بحث قوية بالمللي ثانية عبر الجداول الخاصة بك. حتى مع وجود الملايين من الطاولات ، تمكنا من جعل الحيتان ذات أداء مذهل باستخدام بعض آليات التخزين المؤقت الذكية وإعادة بناء الواجهة الخلفية في Rust. لن تلاحظ أي تأخر في البحث [hello Google DS].





عرض الحوت ، ابحث في أكثر من مليون طاولة .



الحساب التلقائي للمقاييس [في الإصدار التجريبي]



أحد الأشياء المفضلة لدي كعالم بيانات هو تشغيل نفس الاستعلامات مرارًا وتكرارًا فقط للتحقق من جودة البيانات المستخدمة. يدعم Whale القدرة على تحديد المقاييس في SQL عادي والتي ستعمل وفقًا لجدول زمني جنبًا إلى جنب مع خطوط أنابيب تنظيف البيانات الوصفية. حدد كتلة مقاييس بتنسيق YAML داخل جدول كعب الروتين وسيقوم Whale تلقائيًا بالتنفيذ وفقًا للجدول الزمني وتشغيل استعلامات المقاييس المتداخلة.



```metrics
metric-name:
  sql: |
    select count(*) from table
```




إلى جانب Github ، فإن هذا النهج يعني أن الحوت يمكن أن يكون بمثابة مصدر مركزي سهل للحقيقة للتعريفات المترية. حتى أن Whale يخزن القيم جنبًا إلى جنب مع الطابع الزمني في ~ /. حوت / مقاييس "إذا كنت تريد إجراء نوع من الرسم البياني أو بحث أعمق.



مستقبل



بعد التحدث مع مستخدمي إصدارات ما قبل الإصدار من الحوت ، أدركنا أن الناس بحاجة إلى مزيد من الوظائف. لماذا أداة بحث الجدول؟ لماذا لا تكون أداة بحث المقاييس؟ لماذا لا تراقب؟ لماذا لا تكون أداة تنفيذ استعلام SQL؟ بينما تم تصميم Whale v1 في الأصل كأداة مصاحبة بسيطة لـ CLI Dataportal/Amundsen، فقد تطورت بالفعل إلى منصة قائمة بذاتها تعمل بكامل طاقتها ونأمل أن تصبح جزءًا لا يتجزأ من صندوق أدوات عالم البيانات.



إذا كان هناك أي شيء تريد رؤيته في عملية التطوير ، فقم بالانضمام إلى مجتمع Slack الخاص بنا ، وافتح المشكلات على Github ، أو حتى اتصل بـ LinkedIn مباشرةً.... لدينا بالفعل مجموعة كاملة من الميزات الرائعة - قوالب Jinja ، والإشارات المرجعية ، وفلاتر البحث ، وتنبيهات Slack ، وتكامل Jupyter ، وحتى لوحة CLI للمقاييس - لكننا نحب إدخالك.



خاتمة



تم تطوير Whale ودعمه بواسطة Dataframe ، وهي شركة ناشئة كان من دواعي سروري مؤخرًا أن أبدأها مع أشخاص آخرين. بينما الحوت مخصص لعلماء البيانات ، فإن Dataframe مخصص لفرق البيانات. بالنسبة لأولئك الذين يرغبون في التعاون بشكل أوثق - لا تتردد في الاتصال ، سنضيفك إلى قائمة الانتظار.



صورة


وباستخدام الرمز الترويجي HABR ، يمكنك الحصول على 10٪ إضافية للخصم الموضح على اللافتة.












All Articles