Whale ilə məlumatları necə tez və asanlıqla axtarmaq olar

Whale ilə məlumatları necə tez və asanlıqla axtarmaq olar
Bu məqalədə KDPV-də gördüyünüz işin ən sadə və sürətli məlumat kəşfi vasitəsi haqqında danışılır. Maraqlıdır ki, balina uzaq git serverində yerləşdirilmək üçün nəzərdə tutulub. Kəsmə altındakı detallar.

Airbnb-nin Məlumat Kəşf Aləti Həyatımı Necə Dəyişdirdi

Karyeramda bəzi əyləncəli problemlər üzərində işləməkdən həzz almışam: MIT-də dərəcəmi alarkən axın riyaziyyatını öyrəndim, artımlı modellər üzərində işlədim və açıq mənbəli layihə ilə pilift Wayfair-də və Airbnb-də yeni ana səhifə hədəfləmə modelləri və CUPED təkmilləşdirmələri həyata keçirdi. Amma bütün bu işlər heç vaxt məftunedici olmayıb – əslində mən vaxtımın çox hissəsini məlumatların axtarışına, tədqiqinə və təsdiqlənməsinə sərf edirdim. Bu, işdə daimi bir vəziyyət olsa da, Airbnb-ə çatana qədər ağlıma belə gəlməzdi ki, bu, məlumat kəşf aləti ilə həll edildi - məlumat portalı.

{{data}} harada tapa bilərəm? məlumat portalı.
Bu sütun nə deməkdir? məlumat portalı.
{{metrik}} bu gün necədir? məlumat portalı.
Həyat hissi nədir? IN məlumat portalı, yəqin ki.

Yaxşı, şəkli təqdim etdiniz. Məlumat tapmaq və onun nə demək olduğunu, necə yaradıldığını və necə istifadə olunacağını başa düşmək saatlarla deyil, cəmi bir neçə dəqiqə çəkir. Mən vaxtımı qeydləri araşdırmaq, təkrarlanan SQL sorğuları yazmaq və kontekstini yenidən yaratmaq üçün Slack-də həmkarlarımı xatırlatmaq əvəzinə sadə nəticələr və ya yeni alqoritmlər (...yaxud məlumatlarla bağlı təsadüfi suallara cavab vermək) sərf edə bilərdim. .

Problem nədir?

Mən başa düşdüm ki, dostlarımın çoxunun belə bir alətə çıxışı yoxdur. Çox az şirkət Dataportal kimi platforma alətinin yaradılmasına və saxlanmasına böyük resurslar ayırmağa hazırdır. Bir neçə açıq mənbə həlləri olsa da, onlar miqyaslanmağa meyllidirlər və xüsusi DevOps mühəndisi olmadan quraşdırmanı və saxlanmasını çətinləşdirir. Buna görə yeni bir şey yaratmağa qərar verdim.

Balina: Axmaqcasına sadə məlumat kəşfi vasitəsi

Whale ilə məlumatları necə tez və asanlıqla axtarmaq olar

Bəli, axmaq sadə dedikdə, axmaqcasına sadəliyi nəzərdə tuturam. Balinanın yalnız iki komponenti var:

  1. Metadata toplayan və onu MarkDown-da formatlayan Python kitabxanası.
  2. Bu data vasitəsilə axtarış etmək üçün Rust komanda xətti interfeysi.

Baxım üçün daxili infrastruktur baxımından, yalnız bir çox mətn faylları və mətni yeniləyən bir proqram var. Budur, Github kimi bir git serverində hosting əhəmiyyətsizdir. Öyrənmək üçün yeni sorğu dili, idarəetmə infrastrukturu, ehtiyat nüsxələri yoxdur. Hamı Git-i tanıyır, ona görə də sinxronizasiya və əməkdaşlıq pulsuzdur. Gəlin funksionallığa daha yaxından nəzər salaq Balina v1.0.

Tam xüsusiyyətli git əsaslı GUI

Whale uzaq git serverinin okeanında üzmək üçün nəzərdə tutulub. O çox asan konfiqurasiya edilə bilən: bəzi əlaqələri müəyyənləşdirin, Github Actions skriptini kopyalayın (yaxud seçdiyiniz CI/CD platforması üçün birini yazın) və dərhal məlumat kəşf edən veb alətiniz olacaq. Elektron cədvəllərinizi birbaşa Github-da axtara, baxa, sənədləşdirə və paylaşa biləcəksiniz.

Whale ilə məlumatları necə tez və asanlıqla axtarmaq olar
Github Actions istifadə edərək yaradılan stub cədvəlinin nümunəsi. Tam işləyən demo bu bölməyə baxın.

Anbarınız üçün ildırım sürətli CLI axtarışı

Balina komanda xəttində yaşayır və nəfəs alır, cədvəllərinizdə güclü, millisaniyəlik axtarışlar təmin edir. Milyonlarla cədvəllə belə, biz bəzi ağıllı keşləmə mexanizmlərindən istifadə etməklə və həmçinin Rust-da arxa tərəfi yenidən qurmaqla balinanı inanılmaz dərəcədə performanslı hala gətirə bildik. Siz heç bir axtarış gecikməsini hiss etməyəcəksiniz [salam Google DS].

Whale ilə məlumatları necə tez və asanlıqla axtarmaq olar
Balina demosu, milyon masa axtarışı.

Metriklərin avtomatik hesablanması [beta-da]

Bir məlumat alimi kimi ən sevdiyim şeylərdən biri istifadə olunan məlumatların keyfiyyətini yoxlamaq üçün eyni sorğuları təkrar-təkrar icra etməkdir. Whale, metadata təmizləmə boru kəmərlərinizlə birlikdə işləməsi planlaşdırılan sadə SQL-də ölçüləri müəyyən etmək qabiliyyətini dəstəkləyir. Cədvəl daxilində YAML ölçüləri blokunu təyin edin və Whale avtomatik olaraq cədvəl üzrə işləyəcək və ölçülərə daxil edilmiş sorğuları yerinə yetirəcək.

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

Whale ilə məlumatları necə tez və asanlıqla axtarmaq olar
Github ilə birlikdə bu yanaşma balina metrik təriflər üçün asan mərkəzi həqiqət mənbəyi kimi xidmət edə bilər. Balina hətta dəyərləri "~/. balina/ölçülər" diaqramı və ya daha dərindən araşdırma etmək istəyirsinizsə.

Gələcək

Balinanın buraxılışdan əvvəlki versiyalarımızın istifadəçiləri ilə söhbət etdikdən sonra insanların daha çox funksionallığa ehtiyacı olduğunu başa düşdük. Niyə cədvəl axtarış alətidir? Niyə metrik axtarış aləti deyil? Niyə monitorinq aparmırsınız? Niyə SQL sorğu icra aləti olmasın? Baxmayaraq ki, whale v1 əvvəlcə sadə CLI yoldaş vasitəsi olmaq üçün nəzərdə tutulmuşdu Dataportal/Amundsen, o, artıq tam funksiyalı müstəqil platformaya çevrilib və ümid edirik ki, o, Data Scientist-in alətlər dəstinin ayrılmaz hissəsinə çevriləcək.

İnkişaf prosesində görmək istədiyiniz bir şey varsa, bizə qoşulun Slack icmasına, Məsələləri bu ünvanda açın Githubhətta birbaşa əlaqə saxlayın LinkedIn. Artıq bir sıra gözəl xüsusiyyətlərimiz var - Jinja şablonları, əlfəcinlər, axtarış filtrləri, Slack siqnalları, Jupyter inteqrasiyası, hətta ölçülər üçün CLI idarə paneli - lakin biz sizin daxil olmağınızı istərdik.

Nəticə

Whale, bu yaxınlarda başqa insanlarla birgə təsis etməkdən həzz aldığım bir başlanğıc olan Dataframe tərəfindən hazırlanmış və dəstəklənmişdir. Balina məlumat alimləri üçün hazırlansa da, Dataframe məlumat alimləri üçün hazırlanmışdır. Daha yaxından əməkdaşlıq etmək istəyənlər üçün çekinmeyin ünvansizi gözləmə siyahısına əlavə edəcəyik.

Whale ilə məlumatları necə tez və asanlıqla axtarmaq olar
Və promo kodu ilə HABR, bannerdə göstərilən endirimə əlavə 10% əldə edə bilərsiniz.

Daha çox kurslar

Tövsiyə olunan məqalələr

Mənbə: www.habr.com