این مقاله در مورد ساده ترین و سریع ترین ابزار کشف داده صحبت می کند که کار آن را در KDPV مشاهده می کنید. جالب اینجاست که Whale برای میزبانی روی سرور git راه دور طراحی شده است. جزئیات زیر برش.
چگونه ابزار کشف داده Airbnb زندگی من را تغییر داد
در حرفهام، من از کار کردن روی برخی مسائل سرگرمکننده لذت بردهام: در حین تحصیل در MIT، ریاضیات جریان را مطالعه کردم، روی مدلهای افزایشی و با یک پروژه منبع باز کار کردم. پیلیفت در Wayfair، و مدلهای جدید هدفگیری صفحه اصلی و بهبودهای CUPED را در Airbnb پیادهسازی کرد. اما همه این کارها هرگز پر زرق و برق نبودند - در واقع، من اغلب وقتم را صرف جستجو، تحقیق و اعتبارسنجی داده ها می کردم. اگرچه این یک وضعیت ثابت در کار بود، اما تا زمانی که به Airbnb نرسیدم به ذهنم خطور نکرد که این یک مشکل باشد، جایی که با یک ابزار کشف داده حل شد - پورتال داده.
کجا می توانم {{data}} را پیدا کنم؟ پورتال داده.
این ستون به چه معناست؟ پورتال داده.
{{metric}} امروز چگونه است؟ پورتال داده.
حس زندگی چیست؟ که در پورتال داده، شاید.
خوب، شما تصویر را ارائه کردید. یافتن دادهها و درک معنای آن، نحوه ایجاد و نحوه استفاده از آنها فقط چند دقیقه طول میکشد، نه ساعتها. من میتوانم وقتم را صرف نتیجهگیری ساده یا الگوریتمهای جدید (… یا پاسخ دادن به سؤالات تصادفی در مورد دادهها کنم) به جای جستجو در یادداشتها، نوشتن سؤالات SQL تکراری و ذکر همکاران در Slack برای تلاش و بازآفرینی زمینهای که شخص دیگری قبلاً داشته است صرف کنم. .
مشکل چیست؟
متوجه شدم که اکثر دوستانم به چنین ابزاری دسترسی ندارند. تعداد کمی از شرکت ها حاضرند منابع عظیمی را برای ساخت و نگهداری ابزار پلتفرمی مانند Dataportal اختصاص دهند. و در حالی که چند راه حل منبع باز وجود دارد، آنها تمایل دارند به مقیاس طراحی شوند، که راه اندازی و نگهداری بدون یک مهندس DevOps اختصاصی را دشوار می کند. بنابراین تصمیم گرفتم چیزی جدید خلق کنم.
نهنگ: یک ابزار ساده احمقانه برای کشف داده ها
و بله، منظور من از ساده ساده احمقانه است. نهنگ فقط دو جزء دارد:
یک کتابخانه پایتون که متادیتا را جمع آوری کرده و در MarkDown قالب بندی می کند.
رابط خط فرمان Rust برای جستجو در میان این داده ها.
از نظر زیرساخت داخلی برای نگهداری، فقط تعداد زیادی فایل متنی و برنامه ای وجود دارد که متن را به روز می کند. تمام، بنابراین میزبانی در سرور git مانند Github بی اهمیت است. بدون زبان جستجوی جدید برای یادگیری، بدون زیرساخت مدیریتی، بدون نسخه پشتیبان. همه Git را می شناسند، بنابراین همگام سازی و همکاری رایگان است. بیایید نگاهی دقیق تر به عملکرد داشته باشیم نهنگ نسخه 1.0.
رابط کاربری گرافیکی مبتنی بر git با ویژگی کامل
Whale برای شنا در اقیانوس سرور git راه دور طراحی شده است. او خیلی آسان قابل تنظیم: برخی از اتصالات را تعریف کنید، اسکریپت Github Actions را کپی کنید (یا یکی را برای پلتفرم CI/CD انتخابی خود بنویسید) و فوراً یک ابزار وب کشف داده خواهید داشت. شما قادر خواهید بود صفحات گسترده خود را مستقیماً در Github جستجو، مشاهده، مستندسازی و به اشتراک بگذارید.
نمونه ای از جدول خرد تولید شده با استفاده از Github Actions. نسخه ی نمایشی کار کامل را در این بخش ببینید.
رعد و برق CLI سریع برای مخزن خود جستجو کنید
نهنگ در خط فرمان زندگی میکند و نفس میکشد و جستجوهای قدرتمند و میلیثانیهای را در جداول شما ارائه میکند. حتی با وجود میلیونها جدول، ما موفق شدیم با استفاده از مکانیسمهای هوشمندانه ذخیرهسازی و همچنین با بازسازی بکاند در Rust، نهنگ را عملکردی فوقالعاده داشته باشیم. هیچ تأخیر جستجو را متوجه نخواهید شد [hello Google DS].
نسخه ی نمایشی نهنگ، جستجوی میلیون جدول.
محاسبه خودکار معیارها [در بتا]
یکی از چیزهایی که کمتر مورد علاقه من به عنوان یک دانشمند داده است، اجرای دوباره و دوباره همان پرس و جوها فقط برای بررسی کیفیت داده های مورد استفاده است. Whale از توانایی تعریف معیارها در SQL ساده پشتیبانی میکند که برنامهریزیشده برای اجرا همراه با خطوط لوله پاکسازی ابرداده شما اجرا شود. یک بلوک معیارهای YAML را در داخل جدول خرد تعریف کنید، و Whale به طور خودکار بر اساس یک زمانبندی اجرا میشود و پرسوجوهای تودرتو در معیارها را اجرا میکند.
```metrics
metric-name:
sql: |
select count(*) from table
```
در ترکیب با Github، این رویکرد به این معنی است که نهنگ میتواند به عنوان منبع مرکزی آسان حقیقت برای تعاریف متریک باشد. Whale حتی مقادیر را به همراه مهر زمانی در "~/" ذخیره می کند. نهنگ/متریک" اگر می خواهید نمودار یا تحقیقات عمیق تری انجام دهید.
آینده
پس از صحبت با کاربران نسخه های پیش از انتشار نهنگ، متوجه شدیم که مردم به عملکرد بیشتری نیاز دارند. چرا ابزار جستجوی جدول؟ چرا ابزار جستجوی متریک نیست؟ چرا نظارت نمی شود؟ چرا ابزار اجرای پرس و جوی SQL نیست؟ در حالی که نهنگ v1 در ابتدا به عنوان یک ابزار همراه ساده CLI در نظر گرفته شد Dataportal/Amundsen، قبلاً به یک پلتفرم مستقل با امکانات کامل تبدیل شده است و ما امیدواریم که به بخشی جدایی ناپذیر از جعبه ابزار Data Scientist تبدیل شود.
اگر چیزی وجود دارد که می خواهید در فرآیند توسعه ببینید، به ما بپیوندید به جامعه اسلک، مسائل را در باز کنید گیتهابیا حتی مستقیما تماس بگیرید لینک. ما قبلاً تعدادی ویژگی جالب داریم - قالبهای Jinja، نشانکها، فیلترهای جستجو، هشدارهای Slack، ادغام Jupyter، حتی یک داشبورد CLI برای معیارها - اما ما از نظرات شما خوشحال میشویم.
نتیجه
Whale توسط Dataframe توسعه یافته و نگهداری می شود، استارت آپی که من اخیراً از تأسیس آن با افراد دیگر لذت بردم. در حالی که نهنگ برای دانشمندان داده ساخته شده است، Dataframe برای دانشمندان داده ساخته شده است. برای کسانی از شما که میخواهید بیشتر با هم همکاری کنید، با خیال راحت این کار را انجام دهید نشانیما شما را به لیست انتظار اضافه خواهیم کرد.
و با کد تبلیغاتی HABR، می توانید 10% تخفیف اضافی درج شده روی بنر دریافت کنید.