Cara cepat dan mudah mencari data dengan Paus



Artikel ini menjelaskan alat penemuan data paling sederhana dan tercepat yang Anda lihat berfungsi di KDPV. Menariknya, whale dirancang untuk dihosting di server git jarak jauh. Detail di bawah potongan.



Bagaimana alat penemuan data Airbnb mengubah hidup saya



Dalam karir saya, saya sudah cukup beruntung untuk bekerja pada beberapa menyenangkan masalah: Saya belajar mengalir matematika selama gelar saya di MIT, bekerja pada model tambahan dan dengan pylift proyek open source di Wayfair, dan memperkenalkan homepage baru yang menargetkan model dan perbaikan CUPED untuk Airbnb. Tetapi semua pekerjaan ini tidak pernah glamor - bahkan, saya sering menghabiskan sebagian besar waktu saya untuk mencari, menjelajahi, dan memvalidasi data. Meskipun ini adalah kondisi yang terus-menerus di tempat kerja, tidak terpikir oleh saya bahwa itu adalah masalah sampai saya masuk ke Airbnb, yang diselesaikan dengan alat penemuan data, Dataportal .



Di mana saya dapat menemukan {{data}}? Dataportal .

Apa maksud kolom ini? Dataportal .

Bagaimana kabar {{metric}} hari ini? Dataportal .

Apa arti hidup itu? Di Dataportal , mungkin.


Oke, Anda sudah mempresentasikan gambar. Menemukan data dan memahami artinya, bagaimana data itu dibuat, dan cara menggunakannya - semua ini hanya membutuhkan waktu beberapa menit, bukan berjam-jam. Saya dapat menghabiskan waktu saya untuk menggambar kesimpulan sederhana, atau algoritme baru (... atau menjawab pertanyaan acak tentang data), daripada mengobrak-abrik catatan, menulis kueri SQL yang berulang, dan menyebutkan kolega di Slack untuk mencoba membuat ulang konteks. yang sudah dimiliki orang lain.



Apa masalahnya?



Saya menyadari bahwa kebanyakan teman saya tidak memiliki akses ke alat semacam itu. Beberapa perusahaan ingin mencurahkan sumber daya yang besar untuk membangun dan memelihara alat platform seperti Dataportal. Meskipun ada beberapa solusi open source yang tersedia, solusi tersebut umumnya dirancang sesuai skala, sehingga sulit untuk disiapkan dan dipelihara tanpa teknisi DevOps khusus. Jadi saya memutuskan untuk membuat sesuatu yang baru.



Paus: alat penemuan data yang konyol







Dan ya, yang sederhana sampai kebodohan maksud saya sederhana sampai kebodohan. Paus hanya memiliki dua komponen:



  1. Pustaka Python yang mengumpulkan metadata dan memformatnya di MarkDown.
  2. Antarmuka baris perintah Rust untuk mencari data ini.


Dari sudut pandang infrastruktur internal, hanya ada banyak file teks dan program pemutakhiran teks untuk pemeliharaan. Itu saja, jadi hosting di server git seperti Github itu sepele. Tidak ada bahasa kueri baru untuk dipelajari, tidak ada infrastruktur manajemen, tidak ada cadangan. Git dikenal oleh semua orang, jadi sinkronisasi dan kolaborasi gratis. Mari kita lihat lebih dekat fungsionalitas Whale v1.0 .



GUI berbasis git berfitur lengkap



Paus dibangun untuk berlayar di lautan server git yang jauh. Ini sangat dapat disesuaikan: tentukan beberapa koneksi, salin skrip Tindakan Github (atau tulis untuk platform CI / CD yang Anda pilih) dan Anda akan segera memiliki alat penemuan data berbasis web. Anda akan dapat mencari, melihat, mendokumentasikan, dan membagikan tabel Anda langsung di Github.





Contoh tabel rintisan yang dibuat menggunakan Github Actions. Lihat bagian ini untuk demo kerja lengkap .



Pencarian CLI secepat kilat untuk repositori Anda



Whale hidup dan bernafas pada baris perintah, memberikan pencarian milidetik yang andal di seluruh tabel Anda. Bahkan dengan jutaan tabel, kami berhasil membuat paus sangat berkinerja dengan menggunakan beberapa mekanisme cache yang cerdas dan membangun kembali backend di Rust. Anda tidak akan melihat adanya keterlambatan pencarian [halo Google DS].





Paus demo, cari lebih dari satu juta tabel .



Penghitungan otomatis metrik [dalam beta]



Salah satu hal yang paling tidak saya sukai sebagai data scientist adalah menjalankan kueri yang sama berulang kali hanya untuk memeriksa kualitas data yang digunakan. Whale mendukung kemampuan untuk menentukan metrik dalam SQL biasa yang akan berjalan sesuai jadwal bersama dengan pipeline pembersihan metadata Anda. Tentukan blok metrik YAML di dalam tabel rintisan dan Whale akan secara otomatis berjalan sesuai jadwal dan menjalankan kueri metrik bertingkat.



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




Dikombinasikan dengan Github, pendekatan ini berarti ikan paus dapat berfungsi sebagai sumber pusat kebenaran yang mudah untuk definisi metrik. Paus bahkan menyimpan nilai bersama dengan stempel waktu di ~ /. whale / metrics ”jika Anda ingin melakukan semacam grafik atau penelitian lebih dalam.



Masa depan



Setelah berbicara dengan pengguna paus versi pra-rilis, kami menyadari bahwa orang-orang membutuhkan lebih banyak fungsi. Mengapa alat pencarian tabel? Mengapa bukan alat pencarian metrik? Mengapa tidak memantau? Mengapa bukan alat eksekusi kueri SQL? Meskipun whale v1 awalnya dirancang sebagai alat pendamping CLI sederhana Dataportal/Amundsen, ia telah berkembang menjadi platform mandiri yang berfungsi penuh dan kami berharap ini akan menjadi bagian integral dari kotak alat ilmuwan data.



Jika ada yang ingin Anda lihat dalam proses pengembangan, bergabunglah dengan komunitas Slack kami , buka Masalah di Github , atau bahkan hubungi LinkedIn secara langsung.... Kami sudah memiliki banyak fitur keren - template Jinja, bookmark, filter pencarian, peringatan Slack, integrasi Jupyter, bahkan panel CLI untuk metrik - tetapi kami akan sangat menyukai masukan Anda.



Kesimpulan



Whale dikembangkan dan didukung oleh Dataframe, sebuah startup yang baru-baru ini saya mulai dengan senang hati bersama orang lain. Sementara paus untuk ilmuwan data, Dataframe untuk tim data. Bagi anda yang ingin bekerja sama lebih erat - jangan sungkan untuk menghubungi , kami akan menambahkan anda ke daftar tunggu.



gambar


Dan dengan kode promo HABR , Anda bisa mendapatkan tambahan diskon 10% yang tertera di banner.












All Articles