Comment rechercher des données rapidement et facilement avec Whale

Comment rechercher des données rapidement et facilement avec Whale
Cet article parle de l'outil de découverte de données le plus simple et le plus rapide, dont vous voyez le travail sur KDPV. Fait intéressant, la baleine est conçue pour être hébergée sur un serveur git distant. Détails sous la coupe.

Comment l'outil de découverte de données d'Airbnb a changé ma vie

Dans ma carrière, j'ai eu la chance de travailler sur des problèmes amusants : j'ai étudié les mathématiques de flux tout en faisant mon diplôme au MIT, j'ai travaillé sur des modèles incrémentaux et avec un projet open source élévateur chez Wayfair, et mis en œuvre de nouveaux modèles de ciblage de page d'accueil et des améliorations CUPED chez Airbnb. Mais tout ce travail n'a jamais été glamour - en fait, j'ai souvent passé la plupart de mon temps à rechercher, rechercher et valider des données. Bien que ce soit un état constant au travail, il ne m'est pas venu à l'esprit que c'était un problème jusqu'à ce que je sois arrivé à Airbnb où il a été résolu avec un outil de découverte de données - portail de données.

Où puis-je trouver {{data}} ? portail de données.
Que signifie cette colonne ? portail de données.
Comment va {{metric}} aujourd'hui ? portail de données.
Qu'est-ce qu'un sens de la vie ? DANS portail de données, probablement.

Bon, vous avez présenté la photo. Trouver des données et comprendre ce qu'elles signifient, comment elles ont été créées et comment les utiliser ne prend que quelques minutes, pas des heures. Je pourrais passer mon temps à tirer des conclusions simples, ou de nouveaux algorithmes, (… ou à répondre à des questions aléatoires sur les données), plutôt que de fouiller dans des notes, d'écrire des requêtes SQL répétitives et de mentionner des collègues sur Slack pour essayer de recréer le contexte que quelqu'un d'autre a déjà avait.

Quel est le problème?

J'ai réalisé que la plupart de mes amis n'avaient pas accès à un tel outil. Peu d'entreprises sont prêtes à consacrer d'énormes ressources à la création et à la maintenance d'un outil de plate-forme comme Dataportal. Et bien qu'il existe quelques solutions open source, elles ont tendance à être conçues pour évoluer, ce qui rend difficile la configuration et la maintenance sans un ingénieur DevOps dédié. J'ai donc décidé de créer quelque chose de nouveau.

Whale : un outil de découverte de données stupidement simple

Comment rechercher des données rapidement et facilement avec Whale

Et oui, par stupidement simple, je veux dire stupidement simple. La baleine n'a que deux composants :

  1. Une bibliothèque Python qui collecte les métadonnées et les formate dans MarkDown.
  2. Interface de ligne de commande Rust pour rechercher dans ces données.

Du point de vue de l'infrastructure interne de maintenance, il n'y a que beaucoup de fichiers texte et un programme qui met à jour le texte. C'est tout, donc l'hébergement sur un serveur git comme Github est trivial. Pas de nouveau langage de requête à apprendre, pas d'infrastructure de gestion, pas de sauvegardes. Tout le monde connaît Git, donc la synchronisation et la collaboration sont gratuites. Regardons de plus près la fonctionnalité Baleine v1.0.

Interface graphique complète basée sur git

Whale est conçu pour nager dans l'océan d'un serveur git distant. Il très facile configurable : définissez des connexions, copiez le script Github Actions (ou écrivez-en un pour la plate-forme CI/CD de votre choix) et vous disposerez immédiatement d'un outil Web de découverte de données. Vous pourrez rechercher, visualiser, documenter et partager vos feuilles de calcul directement sur Github.

Comment rechercher des données rapidement et facilement avec Whale
Un exemple de table stub générée à l'aide des actions Github. Démo de travail complète voir dans cette rubrique.

Recherche CLI rapide comme l'éclair pour votre référentiel

Whale vit et respire sur la ligne de commande, fournissant des recherches puissantes d'une milliseconde sur vos tables. Même avec des millions de tables, nous avons réussi à rendre la baleine incroyablement performante en utilisant des mécanismes de mise en cache intelligents et aussi en reconstruisant le backend dans Rust. Vous ne remarquerez aucun délai de recherche [hello Google DS].

Comment rechercher des données rapidement et facilement avec Whale
Démo Whale, recherche d'un million de tables.

Calcul automatique des métriques [en bêta]

L'une des choses que je préfère le moins en tant que data scientist est d'exécuter les mêmes requêtes encore et encore juste pour vérifier la qualité des données utilisées. Whale prend en charge la possibilité de définir des métriques en SQL brut qui seront programmées pour s'exécuter avec vos pipelines de nettoyage des métadonnées. Définissez un bloc de métriques YAML dans la table de stub, et Whale s'exécutera automatiquement selon un calendrier et exécutera des requêtes imbriquées dans des métriques.

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

Comment rechercher des données rapidement et facilement avec Whale
Combinée à Github, cette approche signifie que la baleine peut servir de source centrale de vérité pour les définitions de métriques. Whale enregistre même les valeurs avec l'horodatage dans le fichier "~/. baleine/métrique" si vous voulez faire des graphiques ou des recherches plus approfondies.

L'avenir

Après avoir parlé aux utilisateurs de nos versions préliminaires de baleine, nous avons réalisé que les gens avaient besoin de plus de fonctionnalités. Pourquoi un outil de recherche de tableau ? Pourquoi pas un outil de recherche de métriques ? Pourquoi ne pas surveiller ? Pourquoi pas un outil d'exécution de requêtes SQL ? Alors que la baleine v1 a été initialement conçue comme un simple outil compagnon CLI Dataportal/Amundsen, il a déjà évolué en une plate-forme autonome complète, et nous espérons qu'il fera partie intégrante de la boîte à outils du Data Scientist.

S'il y a quelque chose que vous voulez voir dans le processus de développement, rejoignez notre à la communauté Slack, ouvrez les problèmes à Githubou même contacter directement LinkedIn. Nous avons déjà un certain nombre de fonctionnalités intéressantes - modèles Jinja, signets, filtres de recherche, alertes Slack, intégration Jupyter, et même un tableau de bord CLI pour les métriques - mais nous aimerions votre contribution.

Conclusion

Whale est développé et maintenu par Dataframe, une startup que j'ai récemment eu le plaisir de co-fonder avec d'autres personnes. Alors que baleine est faite pour les data scientists, Dataframe est faite pour les data scientists. Pour ceux d'entre vous qui souhaitent collaborer plus étroitement, n'hésitez pas à gérernous vous ajouterons à la liste d'attente.

Comment rechercher des données rapidement et facilement avec Whale
Et par code promo CHARME, vous pouvez obtenir 10% supplémentaires à la remise indiquée sur la bannière.

Plus de cours

Articles recommandés

Source: habr.com