Cómo buscar datos rápida y fácilmente con Whale



Este artículo describe la herramienta de descubrimiento de datos más simple y rápida que ve trabajando en KDPV. Curiosamente, whale está diseñado para alojarse en un servidor git remoto. Detalles debajo del corte.



Cómo la herramienta de descubrimiento de datos de Airbnb cambió mi vida



En mi carrera, tuve la suerte de trabajar en algunos problemas divertidos: estudié matemáticas de flujo durante mi licenciatura en el MIT, trabajé en modelos incrementales y con el proyecto de código abierto pylift en Wayfair, e introduje nuevos modelos de orientación de página de inicio y mejoras CUPED en Airbnb. Pero todo este trabajo nunca fue glamoroso; de hecho, a menudo pasaba la mayor parte de mi tiempo buscando, explorando y validando datos. Si bien esta era una condición persistente en el trabajo, no se me ocurrió que era un problema hasta que llegué a Airbnb, donde se resolvió con una herramienta de descubrimiento de datos, Dataportal .



¿Dónde puedo encontrar {{data}}? Dataportal .

¿Qué significa esta columna? Dataportal .

¿Cómo le va a {{metric}} hoy? Dataportal .

¿Qué es un sentido de la vida? En Dataportal , probablemente.


Bien, presentó una imagen. Encontrar los datos y comprender lo que significan, cómo se crearon y cómo usarlos, todo esto lleva solo unos minutos, no horas. Podría pasar mi tiempo sacando conclusiones simples o nuevos algoritmos (... o respondiendo preguntas aleatorias sobre los datos), en lugar de hurgar en notas, escribir consultas SQL repetitivas y mencionar a colegas en Slack para intentar recrear el contexto. que alguien más ya tenía.



¿Cuál es el problema?



Me di cuenta de que la mayoría de mis amigos no tenían acceso a dicha herramienta. Pocas empresas están dispuestas a dedicar grandes recursos a la creación y el mantenimiento de una herramienta de plataforma como Dataportal. Si bien existen varias soluciones de código abierto, tienden a estar diseñadas para escalar, lo que dificulta su configuración y mantenimiento sin un ingeniero de DevOps dedicado. Entonces decidí crear algo nuevo.



Whale: una tonta herramienta de descubrimiento de datos







Y sí, por simple a estupidez quiero decir simple a estupidez. Whale tiene solo dos componentes:



  1. Una biblioteca de Python que recopila metadatos y los formatea en MarkDown.
  2. Interfaz de línea de comandos de Rust para buscar estos datos.


Desde el punto de vista de la infraestructura interna, solo hay una gran cantidad de archivos de texto y un programa de actualización de texto para mantenimiento. Eso es todo, por lo que alojar en un servidor git como Github es trivial. No hay que aprender un nuevo lenguaje de consulta, no hay infraestructura de gestión, no hay copias de seguridad. Git es conocido por todos, por lo que la sincronización y la colaboración son gratuitas. Echemos un vistazo más de cerca a la funcionalidad de Whale v1.0 .



GUI basada en git con todas las funciones



Whale está diseñado para navegar por el océano de un servidor git remoto. Es muy fácil de configurar: defina algunas conexiones, copie el script de acciones de Github (o escríbalo para la plataforma CI / CD que elija) y tendrá una herramienta de descubrimiento de datos basada en la web de inmediato. Podrás buscar, ver, documentar y compartir tus tablas directamente en Github.





Un ejemplo de una tabla de códigos auxiliares generada con acciones de Github. Consulte esta sección para obtener una demostración funcional completa .



Búsqueda CLI ultrarrápida para su repositorio



Whale vive y respira en la línea de comandos, lo que proporciona potentes búsquedas de milisegundos en sus tablas. Incluso con millones de tablas, logramos que whale tuviera un rendimiento increíble mediante el uso de algunos mecanismos de almacenamiento en caché inteligentes y la reconstrucción del backend en Rust. No notará ningún retraso en la búsqueda [hola Google DS].





Demostración de ballenas, busque más de un millón de tablas .



Cálculo automático de métricas [en beta]



Una de mis cosas que menos me gusta como científico de datos es ejecutar las mismas consultas una y otra vez solo para verificar la calidad de los datos que se utilizan. Whale admite la capacidad de definir métricas en SQL simple que se ejecutará en un cronograma junto con sus canales de limpieza de metadatos. Defina un bloque de métricas en formato YAML dentro de la tabla de stub y Whale se ejecutará automáticamente según lo programado y ejecutará consultas de métricas anidadas.



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




Combinado con Github, este enfoque significa que la ballena puede servir como una fácil fuente central de verdad para las definiciones métricas. Whale incluso almacena los valores junto con la marca de tiempo en ~ /. whale / metrics "si quieres hacer algún tipo de gráfico o una investigación más profunda.



Futuro



Después de hablar con los usuarios de nuestras versiones preliminares de whale, nos dimos cuenta de que la gente necesitaba más funcionalidad. ¿Por qué una herramienta de búsqueda de tablas? ¿Por qué no una herramienta de búsqueda de métricas? ¿Por qué no monitorear? ¿Por qué no una herramienta de ejecución de consultas SQL? Si bien whale v1 se concibió originalmente como una simple herramienta complementaria de CLI Dataportal/Amundsen, ya se ha convertido en una plataforma independiente completamente funcional y esperamos que se convierta en una parte integral de la caja de herramientas del científico de datos.



Si hay algo que quieras ver en el proceso de desarrollo, únete a nuestra comunidad de Slack , abre Problemas en Github o incluso contacta a LinkedIn directamente.... Ya tenemos una gran cantidad de funciones interesantes: plantillas de Jinja, marcadores, filtros de búsqueda, alertas de Slack, integración de Jupyter e incluso un panel CLI para métricas, pero nos encantaría tu opinión.



Conclusión



Whale está desarrollado y respaldado por Dataframe, una startup que recientemente tuve el placer de comenzar con otras personas. Mientras que whale está diseñado para científicos de datos, Dataframe es para equipos de datos. Para aquellos de ustedes que quieran cooperar más de cerca, no duden en contactar , los agregaremos a la lista de espera.



imagen


Y con el código de promoción HABR , puede obtener un 10% adicional al descuento indicado en el banner.












All Articles