Balina ile hızlı ve kolay bir şekilde veri arama

Balina ile hızlı ve kolay bir şekilde veri arama
Bu materyal, çalışmalarını KDPV'de gördüğünüz en basit ve en hızlı veri keşif aracını açıklamaktadır. İlginçtir ki balina uzak bir git sunucusunda barındırılacak şekilde tasarlanmıştır. Kesimin altındaki ayrıntılar.

Airbnb'nin Veri Keşif Aracı Hayatımı Nasıl Değiştirdi?

Kariyerimde bazı eğlenceli problemler üzerinde çalışacak kadar şanslıydım: MIT'de diplomamı alırken iş parçacığı matematiği çalıştım, artımlı modeller ve açık kaynaklı bir proje üzerinde çalıştım asansör Wayfair'de yeni ana sayfa hedefleme modellerini ve Airbnb'de CUPED iyileştirmelerini uygulamaya koymanın yanı sıra. Ancak tüm bu çalışmalar hiçbir zaman göz kamaştırıcı olmadı; aslında zamanımın çoğunu verileri arayarak, inceleyerek ve doğrulayarak geçiriyordum. Her ne kadar bu iş yerinde sürekli bir durum olsa da Airbnb'ye ulaşana kadar bunun bir sorun olduğu aklıma gelmemişti, burada sorun bir veri keşif aracı kullanılarak çözülmüştü. Veri portalı.

{{data}}'yı nerede bulabilirim? Veri portalı.
Bu sütun ne anlama geliyor? Veri portalı.
{{metric}} bugün nasıl? Veri portalı.
Yaşam duygusu nedir? İÇİNDE Veri portalı, muhtemelen.

Tamam, resmi aldın. Veriyi bulmak ve ne anlama geldiğini, nasıl oluşturulduğunu ve nasıl kullanılacağını anlamak saatler değil dakikalar alır. Zamanımı, notları karıştırmak, tekrarlayan SQL sorguları yazmak ve başka birinin yaptığı bağlamı yeniden yaratmaya çalışmak için Slack'teki meslektaşlarımdan bahsetmek yerine basit çıkarımlar veya yeni algoritmalar yaparak (... veya verilerle ilgili rastgele soruları yanıtlayarak) harcayabilirdim. zaten var.

Sorun ne?

Çoğu arkadaşımın böyle bir araca erişiminin olmadığını fark ettim. Çok az şirket Dataportal gibi bir platform aracını oluşturmaya ve sürdürmeye büyük kaynaklar ayırmayı ister. Çeşitli açık kaynaklı çözümler mevcut olsa da, bunlar genellikle ölçeklendirilecek şekilde tasarlandığından, özel bir DevOps mühendisi olmadan kurulum ve bakımı zorlaştırır. Bu yüzden yeni bir şey yaratmaya karar verdim.

Balina: aptalca basit bir veri keşif aracı

Balina ile hızlı ve kolay bir şekilde veri arama

Ve evet, aptallık derecesinde basit derken, aptallık derecesinde basit demek istiyorum. balinanın yalnızca iki bileşeni vardır:

  1. Meta verileri toplayan ve MarkDown'da biçimlendiren bir Python kitaplığı.
  2. Bu verileri aramak için bir Rust komut satırı arayüzü.

Bakım için iç altyapı açısından bakıldığında, yalnızca çok sayıda metin dosyası ve metni güncelleyen bir program vardır. İşte bu, Github gibi bir git sunucusunda barındırmak önemsizdir. Öğrenilecek yeni bir sorgu dili yok, yönetim altyapısı yok, yedekleme yok. Git herkes tarafından bilinir, bu nedenle senkronizasyon ve işbirliği ücretsizdir. İşlevselliğe daha yakından bakalım Balina v1.0.

Tam özellikli git tabanlı GUI

Whale, uzaktaki bir git sunucusunun okyanusuna yelken açmak üzere tasarlanmıştır. O çok kolay özelleştirilebilir: bazı bağlantıları tanımlayın, Github Eylemleri komut dosyasını kopyalayın (veya tercih ettiğiniz CI/CD platformunuz için bir tane yazın) ve çok kısa sürede web tabanlı bir veri keşif aracına sahip olacaksınız. E-tablolarınızı doğrudan Github'da arayabilir, görüntüleyebilir, belgeleyebilir ve paylaşabilirsiniz.

Balina ile hızlı ve kolay bir şekilde veri arama
Github Eylemleri kullanılarak oluşturulan bir saplama tablosu örneği. Tam çalışma demosu bu bölüme bak.

Deponuzda ışık hızında CLI araması

Whale, komut satırında yaşar ve nefes alır, tablolarınızda milisaniyelik güçlü aramalar sağlar. Milyonlarca tabloyla bile, bazı akıllı önbellekleme mekanizmalarını kullanarak ve Rust'ta arka ucu yeniden oluşturarak balinayı inanılmaz derecede performanslı hale getirmeyi başardık. Herhangi bir arama gecikmesi fark etmeyeceksiniz [merhaba, Google DS].

Balina ile hızlı ve kolay bir şekilde veri arama
Balina gösterisi, bir milyon tabloyu araştırın.

Metriklerin otomatik hesaplanması [beta sürümde]

Bir veri bilimcisi olarak en sevmediğim şeylerden biri, kullanılan verinin kalitesini kontrol etmek için aynı sorguları tekrar tekrar çalıştırmaktır. Whale, meta veri kazıma ardışık düzenlerinizle birlikte çalışacak şekilde planlanacak basit SQL'deki metrikleri tanımlama yeteneğini destekler. Bir saplama tablosu içinde YAML formatında bir metrik bloğu tanımladığınızda Whale otomatik olarak bir zamanlamaya göre çalışacak ve metriklerin içine yerleştirilmiş sorguları çalıştıracaktır.

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

Balina ile hızlı ve kolay bir şekilde veri arama
Github ile birleştiğinde bu yaklaşım, balinanın metrik tanımlar için kolay bir merkezi doğruluk kaynağı olarak hizmet edebileceği anlamına gelir. Whale, değerleri zaman damgasıyla birlikte "~/" dizininde bile saklar. Bir tür grafik veya daha derin bir araştırma yapmak istiyorsanız balina/metrikler".

Gelecek

Balinanın yayın öncesi sürümlerini kullanan kullanıcılarla konuştuktan sonra insanların daha geniş işlevselliğe ihtiyaç duyduğunu fark ettik. Neden bir tablo arama aracı? Neden bir ölçüm arama aracı olmasın? Neden izlenmiyor? Neden bir SQL sorgu aracı olmasın? Her ne kadar balina v1'in başlangıçta basit bir CLI yardımcı aracı olması amaçlanmış olsa da Dataportal/Amundsen, halihazırda tamamen işlevsel, bağımsız bir platform haline geldi ve veri bilimcilerinin araç setinin ayrılmaz bir parçası olacağını umuyoruz.

Geliştirme aşamasında görmek istediğiniz bir şey varsa, bize katılın Gevşek topluluk, şu adreste Sorunlar'ı açın: Githubveya doğrudan iletişime geçin LinkedIn. Halihazırda çok sayıda harika özelliğimiz var - Jinja şablonları, yer imleri, arama filtreleri, Slack uyarıları, Jupyter entegrasyonu, hatta ölçümler için bir CLI kontrol paneli - ancak katkılarınızı çok isteriz.

Sonuç

Whale, yakın zamanda başkalarıyla birlikte kurma zevkini yaşadığım bir startup olan Dataframe tarafından geliştirildi ve desteklendi. Balina veri bilimcileri için tasarlanırken, Dataframe veri bilimi ekipleri için tasarlanmıştır. Daha yakın işbirliği yapmak isteyenler için çekinmeyin adres, sizi bekleme listesine ekleyeceğiz.

Balina ile hızlı ve kolay bir şekilde veri arama
Ve promosyon koduna göre HABRBanner üzerinde belirtilen indirime ilave %10 oranında sahip olabilirsiniz.

Daha fazla kurs

Seçme Makaleler

Kaynak: habr.com