Cómo buscar datos de manera fácil y rápida con Whale

Cómo buscar datos de manera fácil y rápida con Whale
Este material habla sobre una herramienta de detección de datos sencilla y rápida, cuyo funcionamiento puedes ver en el KDPV. Curiosamente, whale está diseñado para alojarse en un servidor git remoto. Detalles a continuación.

Cómo la herramienta de detección de datos de Airbnb cambió mi vida

En mi carrera he tenido la suerte de trabajar en algunos problemas interesantes: estudié matemáticas de flujo mientras obtenía mi título en el MIT, trabajé en modelos incrementales y en un proyecto de código abierto. pylift en Wayfair, así como implementar nuevos modelos de segmentación en la página de inicio y mejoras en CUPED en Airbnb. Pero todo este trabajo nunca fue glamuroso; de hecho, a menudo dedicaba la mayor parte de mi tiempo a buscar, estudiar y verificar datos. Aunque era un estado constante en mi trabajo, no me di cuenta de que era un problema hasta que llegué a Airbnb, donde se resolvió con una herramienta de detección de datos — Dataportal.

¿Dónde puedo encontrar {{data}}? Dataportal.
¿Qué significa esta columna? Dataportal.
¿Cómo le va a {{metric}} hoy? Dataportal.
¿Cuál es el sentido de la vida? En Dataportal, probablemente.

Bien, has presentado la imagen. Encontrar datos y entender lo que significan, cómo fueron creados y cómo usarlos — todo esto toma solo unos minutos, no horas. Podría estar utilizando mi tiempo para hacer inferencias simples, o para nuevos algoritmos, (… o respuestas a preguntas aleatorias sobre datos), en lugar de buscar en notas, escribir consultas SQL repetitivas y mencionar a colegas en Slack para intentar reconstruir el contexto que ya tenía otra persona.

¿Y cuál es el problema?

Me di cuenta de que la mayoría de mis amigos no tenían acceso a una herramienta así. Pocas empresas quieren destinar enormes recursos a crear y mantener una herramienta-plataforma como Dataportal. Y aunque existen algunas soluciones de código abierto, generalmente están diseñadas para escalar, lo que dificulta la configuración y el mantenimiento sin un ingeniero DevOps dedicado a ello. Por eso decidí crear algo nuevo.

Whale: una herramienta de detección de datos tan simple que parece tonta

Cómo buscar datos de manera fácil y rápida con Whale

Y sí, con simple hasta tonto me refiero a simple hasta tonto. Whale solo tiene dos componentes:

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

Desde la perspectiva de la infraestructura interna para el mantenimiento, solo hay un montón de archivos de texto y un programa de actualización de texto. Eso es todo, por lo que el alojamiento en un servidor git, como Github, es trivial. No hay ningún nuevo lenguaje de consultas que aprender, ninguna infraestructura de gestión, ninguna copia de seguridad. Git es conocido por todos, así que la sincronización y colaboración son gratis. Vamos a ver más de cerca la funcionalidad. Whale v1.0.

Interfaz gráfica de usuario totalmente funcional basada en git.

Whale está diseñado para navegar en el océano de servidores git remotos. Es muy fácil de configurar: define algunas conexiones, copia el script de Github Actions (o escríbelo para la plataforma CI/CD elegida) — y de inmediato obtendrás una herramienta web para el descubrimiento de datos. Podrás buscar, ver, documentar y compartir tus tablas directamente en Github.

Cómo buscar datos de manera fácil y rápida con Whale
Ejemplo de tabla de marcador de posición generada con Github Actions. La demostración completa la puedes ver en esta sección..

Búsqueda instantánea desde CLI en tu repositorio.

Whale vive y respira en la línea de comandos, proporcionando una búsqueda funcional en milisegundos de tus tablas. Incluso con millones de tablas, hemos logrado que Whale sea increíblemente eficiente, utilizando algunos ingeniosos mecanismos de caché y reconstruyendo el backend en Rust. No notarás ninguna latencia en la búsqueda [hola, Google DS].

Cómo buscar datos de manera fácil y rápida con Whale
Demostración de Whale, búsqueda en un millón de tablas.

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

Una de mis cosas menos favoritas como investigador de datos es ejecutar las mismas consultas una y otra vez solo para verificar la calidad de los datos utilizados. Whale soporta la capacidad de definir métricas en un SQL simple, que se ejecutarán según un horario junto con tus tuberías de limpieza de metadatos. Define un bloque de métricas en formato YAML dentro de la tabla de marcador de posición, y Whale se ejecutará automáticamente según el horario y ejecutará las consultas anidadas en métricas.

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

Cómo buscar datos de manera fácil y rápida con Whale
Combinado con Github, este enfoque significa que whale puede servir como una fuente central de verdad para las definiciones de métricas. Whale incluso guarda los valores junto con la marca de tiempo en el directorio »~/whale/metrics«, si deseas hacer algún gráfico o una investigación más profunda.

El futuro

Al hablar con los usuarios de nuestras versiones preliminares de whale, nos dimos cuenta de que las personas necesitaban una funcionalidad más amplia. ¿Por qué una herramienta de búsqueda tabular? ¿Por qué no una herramienta de búsqueda de métricas? ¿Por qué no monitoreo? ¿Por qué no una herramienta para ejecutar consultas SQL? Aunque whale v1 fue concebido inicialmente como una simple herramienta compañera de CLI Dataportal/Amundsen, ya se ha convertido en una plataforma autónoma totalmente funcional, y esperamos que se convierta en una parte integral del conjunto de herramientas del científico de datos.

Si hay algo que deseas ver en el proceso de desarrollo, únete a nuestra comunidad de Slack, abre Issues en Github, o incluso contacta directamente a LinkedIn. Ya tenemos una serie de funciones interesantes: plantillas de Jinja, marcadores, filtros de búsqueda, alertas de Slack, integración con Jupyter, incluso un panel de CLI para métricas — pero estaremos encantados de recibir tu contribución.

Conclusión

Whale es desarrollado y mantenido por Dataframe, una startup que tuve el placer de fundar recientemente junto con otras personas. Mientras que whale está diseñado para especialistas en procesamiento de datos, Dataframe está destinado a equipos de procesamiento de datos. Para aquellos de ustedes que desean colaborar más estrechamente — no duden en contactarnos, los agregaremos a la lista de espera.

Cómo buscar datos de manera fácil y rápida con Whale
Y con el código promocional HABR, pueden obtener un 10% adicional sobre el descuento indicado en el banner.

Más cursos

Artículos recomendados

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster