Cet article prĂ©sente un outil de dĂ©couverte de donnĂ©es simple et rapide, dont vous pouvez voir le fonctionnement sur KDVP. Fait intĂ©ressant, whale est conçu pour ĂȘtre hĂ©bergĂ© sur un serveur git distant. Les dĂ©tails sont sous le pli.
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 certains problĂšmes intĂ©ressants : j'ai Ă©tudiĂ© la thĂ©orie des flux pendant que je poursuivais mon diplĂŽme au MIT, travaillĂ© sur des modĂšles incrĂ©mentaux et sur un projet open source. chez Wayfair, ainsi que mis en Ćuvre de nouveaux modĂšles de ciblage sur la page d'accueil et amĂ©liorĂ© le CUPED chez Airbnb. Mais tout ce travail n'a jamais Ă©tĂ© glamour â en rĂ©alitĂ©, je passais souvent la plupart de mon temps Ă rechercher, analyser et vĂ©rifier des donnĂ©es. Bien que cela ait Ă©tĂ© un Ă©tat constant au travail, je n'avais jamais pensĂ© que c'Ă©tait un problĂšme jusqu'Ă ce que j'arrive chez Airbnb, oĂč il a Ă©tĂ© rĂ©solu grĂące Ă un outil de dĂ©couverte de donnĂ©es â .
OĂč puis-je trouver {{data}} ? Dataportal.
Que signifie cette colonne ? Dataportal.
Comment se porte {{metric}} aujourd'hui ? Dataportal.
Quel est le sens de la vie ? Dans Dataportal, probablement.
D'accord, vous avez plantĂ© le dĂ©cor. 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, et non des heures. Je pourrais consacrer mon temps Ă tirer des conclusions simples, ou Ă de nouveaux algorithmes, (⊠ou Ă des rĂ©ponses Ă des questions alĂ©atoires sur les donnĂ©es), plutĂŽt que de fouiller dans des notes, de rĂ©diger 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 avait dĂ©jĂ .
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 souhaitent consacrer d'énormes ressources à la création et au maintien d'un tel outil-plateforme que Dataportal. Et bien qu'il existe plusieurs solutions open source, elles sont généralement conçues pour l'échelle, ce qui rend leur configuration et leur maintenance difficiles sans un ingénieur DevOps dédié. C'est pourquoi j'ai décidé de créer quelque chose de nouveau.
Whale : un outil de découverte de données simpliste

Et oui, par simpliste, je veux dire véritablement simple. Whale ne compte que deux composants :
- Une bibliothÚque Python qui collecte des métadonnées et les formate en MarkDown.
- Interface de ligne de commande en Rust pour la recherche de ces données.
Du point de vue de l'infrastructure interne pour la maintenance, il n'y a qu'une multitude de fichiers texte et un programme de mise Ă jour de texte. C'est tout, donc le dĂ©ploiement sur un serveur git, comme Github, est trivial. Pas de nouveau langage de requĂȘte Ă apprendre, pas d'infrastructure de gestion, pas de sauvegardes. Git est connu de tous, donc la synchronisation et la collaboration sont incluses gratuitement. Examinons de plus prĂšs les fonctionnalitĂ©s. .
Interface graphique complÚte basée sur git.
Whale a Ă©tĂ© créé pour naviguer dans l'ocĂ©an d'un serveur git distant. Il Ă configurer : dĂ©finissez quelques connexions, copiez le script Github Actions (ou Ă©crivez-le pour votre plateforme CI/CD choisie) â et vous disposerez instantanĂ©ment d'un outil web pour dĂ©couvrir des donnĂ©es. Vous pourrez rechercher, visualiser, documenter et partager vos tableaux directement sur Github.

Exemple d'un tableau de remplissage généré avec Github Actions. Pour une démonstration complÚte et fonctionnelle, .
Recherche ultra-rapide depuis la CLI dans votre dépÎt.
Whale vit et respire dans la ligne de commande, offrant une recherche fonctionnelle, milliseconde par milliseconde, dans vos tableaux. MĂȘme avec des millions de tableaux, nous avons rĂ©ussi Ă rendre Whale incroyablement performant en utilisant des mĂ©canismes de mise en cache astucieux, ainsi qu'en reconstruisant le backend en Rust. Vous ne remarquerez aucun dĂ©lai de recherche [bonjour, Google DS].

Démonstration de Whale, recherche à travers un million de tableaux.
Calcul automatique des métriques [en beta]
Une de mes choses les moins prĂ©fĂ©rĂ©es en tant que chercheur de donnĂ©es 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 dĂ©finition des mĂ©triques en SQL simple, qui seront exĂ©cutĂ©es selon un calendrier avec vos pipelines de nettoyage de mĂ©tadonnĂ©es. DĂ©finissez un bloc metrics au format YAML dans le tableau de remplissage, et Whale sera automatiquement exĂ©cutĂ© selon un calendrier et lancera les requĂȘtes imbriquĂ©es dans metrics.
```metrics
metric-name:
sql: |
select count(*) from table
``` 
AssociĂ© Ă Github, cette approche signifie que whale peut servir de source centrale facile pour les dĂ©finitions de mĂ©triques. Whale conserve mĂȘme les valeurs avec un horodatage dans le rĂ©pertoire «~/whale/metrics», si vous souhaitez rĂ©aliser un graphique ou une recherche plus approfondie.
L'avenir
AprĂšs avoir parlĂ© avec les utilisateurs de nos versions prĂ©liminaires de whale, nous avons compris que les gens avaient besoin de fonctionnalitĂ©s plus larges. Pourquoi un outil de recherche tabulaire, par exemple ? Pourquoi pas un outil de recherche de mĂ©triques ? Pourquoi pas de surveillance ? Pourquoi pas un outil d'exĂ©cution de requĂȘtes SQL ? Bien que whale v1 ait Ă©tĂ© initialement conçu comme un simple outil compagnon CLI, Dataportal/Amundsen, il s'est dĂ©jĂ transformĂ© en une plateforme autonome Ă part entiĂšre, et nous espĂ©rons qu'il deviendra un Ă©lĂ©ment essentiel de l'arsenal des data scientists.
Si vous avez quelque chose que vous souhaitez voir dans le processus de dĂ©veloppement, rejoignez notre , ouvrez des Issues sur , ou mĂȘme contactez directement . Nous avons dĂ©jĂ toute une sĂ©rie de fonctionnalitĂ©s intĂ©ressantes â modĂšles Jinja, signets, filtres de recherche, alertes Slack, intĂ©gration avec Jupyter, et mĂȘme une interface CLI pour les mĂ©triques â mais nous serions heureux de votre contribution.
Conclusion
Whale est dĂ©veloppĂ© et maintenu par Dataframe, une startup que j'ai rĂ©cemment eu le plaisir de fonder avec d'autres personnes. Alors que whale est conçu pour les spĂ©cialistes du traitement des donnĂ©es, Dataframe s'adresse aux Ă©quipes de traitement des donnĂ©es. Pour ceux d'entre vous qui souhaitent collaborer de plus prĂšs â n'hĂ©sitez pas Ă , nous vous ajouterons Ă la liste d'attente.
Et avec le code promo HABR, vous pouvez bénéficier d'une remise supplémentaire de 10 % sur celle indiquée sur la banniÚre.
Autres cours
Articles recommandés
Source : habr.com
