Cómo buscar datos de forma rápida y sencilla con Whale

Cómo buscar datos de forma rápida y sencilla con Whale
Este artículo habla sobre la herramienta de descubrimiento de datos más simple y rápida, cuyo trabajo se ve en KDPV. Curiosamente, ballena está diseñada para alojarse en un servidor git remoto. Detalles bajo el corte.

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

En mi carrera, he tenido la suerte de trabajar en algunos problemas divertidos: estudié matemáticas de flujo mientras estudiaba en el MIT, trabajé en modelos incrementales y con un proyecto de código abierto. ascensor en Wayfair, e implementó nuevos modelos de orientación de la página de inicio y mejoras de CUPED en Airbnb. Pero todo este trabajo nunca fue glamoroso; de hecho, a menudo pasaba la mayor parte de mi tiempo buscando, investigando y validando datos. Aunque este era un estado constante en el trabajo, no se me ocurrió que esto fuera un problema hasta que llegué a Airbnb, donde se resolvió con una herramienta de descubrimiento de datos: portal de datos.

¿Dónde puedo encontrar {{datos}}? portal de datos.
¿Qué significa esta columna? portal de datos.
¿Cómo está {{metric}} hoy? portal de datos.
¿Qué es un sentido de vida? EN portal de datos, probablemente.

Bien, has presentado la imagen. Encontrar datos y comprender lo que significan, cómo se crearon y cómo usarlos 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 buscar notas, escribir consultas SQL repetitivas y mencionar a colegas en Slack para tratar de recrear el contexto que alguien más ya tenía.

¿Y cuál es el problema?

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

Ballena: una herramienta de descubrimiento de datos estúpidamente simple

Cómo buscar datos de forma rápida y sencilla con Whale

Y sí, por estúpidamente simple me refiero a estúpidamente simple. La ballena tiene sólo 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 a través de estos datos.

Desde el punto de vista de la infraestructura interna para el mantenimiento, solo hay muchos archivos de texto y un programa que actualiza el texto. Eso es todo, por lo que alojar en un servidor git como Github es trivial. Sin lenguaje de consulta nuevo que aprender, sin infraestructura de gestión, sin copias de seguridad. Todo el mundo conoce Git, por lo que la sincronización y la colaboración son gratuitas. Echemos un vistazo más de cerca a la funcionalidad. Ballena v1.0.

GUI basada en Git con todas las funciones

Whale está diseñado para nadar en el océano de un servidor git remoto. Él muy fácil configurable: defina algunas conexiones, copie el script de Github Actions (o escriba uno para la plataforma de CI/CD que elija) y tendrá una herramienta web de descubrimiento de datos de inmediato. Podrá buscar, ver, documentar y compartir sus hojas de cálculo directamente en Github.

Cómo buscar datos de forma rápida y sencilla con Whale
Un ejemplo de una tabla auxiliar generada usando Github Actions. Demostración de trabajo completo ver en esta sección.

Búsqueda CLI ultrarrápida para su repositorio

Whale vive y respira en la línea de comandos, proporcionando 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 inteligentes de almacenamiento en caché y también mediante la reconstrucción del backend en Rust. No notará ningún retraso en la búsqueda [hola Google DS].

Cómo buscar datos de forma rápida y sencilla con Whale
Demostración de ballenas, búsqueda de millones de tablas.

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

Una de mis cosas menos favoritas 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 programarán para ejecutarse junto con sus canalizaciones de limpieza de metadatos. Defina un bloque de métricas YAML dentro de la tabla auxiliar, y Whale se ejecutará automáticamente según un cronograma y ejecutará consultas anidadas en métricas.

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

Cómo buscar datos de forma rápida y sencilla con Whale
Combinado con Github, este enfoque significa que Whale puede servir como una fuente central sencilla de veracidad para las definiciones de métricas. Whale incluso guarda los valores junto con la marca de tiempo en el archivo "~/. ballena/métricas" si desea hacer algunos gráficos o una investigación más profunda.

El futuro

Después de hablar con los usuarios de nuestras versiones preliminares de ballena, nos dimos cuenta de que la gente necesitaba más funciones. ¿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 herramienta complementaria de CLI simple Dataportal/Amundsen, ya se ha convertido en una plataforma independiente con todas las funciones, y esperamos que se convierta en una parte integral del conjunto de herramientas del científico de datos.

Si hay algo que desea ver en el proceso de desarrollo, únase a nuestro a la comunidad de Slack, abrir Incidencias en Githubo incluso contactar directamente Etiqueta LinkedIn. Ya tenemos una serie de funciones interesantes: plantillas de Jinja, marcadores, filtros de búsqueda, alertas de Slack, integración de Jupyter, incluso un panel CLI para métricas, pero nos encantaría su opinión.

Conclusión

Whale es desarrollado y mantenido por Dataframe, una startup que recientemente tuve el placer de cofundar con otras personas. Mientras que la ballena está hecha para científicos de datos, Dataframe está hecho para científicos de datos. Para aquellos de ustedes que quieran colaborar más de cerca, siéntanse libres de Direcciónte añadiremos a la lista de espera.

Cómo buscar datos de forma rápida y sencilla con Whale
Y por código promocional HABR, puedes obtener un 10% adicional al descuento indicado en el banner.

Más cursos

Artículos recomendados

Fuente: habr.com