Probé un pipeline estilo dplyr sobre DuckDB
(duckdb.org)Mientras usaba DuckDB para trabajo de análisis,
sentí que solo con SQL ya se pueden hacer muchísimas cosas.
Aun así, en lo personal,
cuando escribía SQL, cuanto más largo se volvía el proceso de análisis,
se repetía el patrón de usar cada vez más CTE.
Porque si no fijaba los estados intermedios poniéndoles nombre,
me resultaba fácil perder incluso yo mismo
el orden de ideas con el que había construido esa consulta.
Por qué pensé en la sintaxis de dplyr
Quizá porque llevo mucho tiempo usando R,
la sintaxis de dplyr para tratar tablas paso a paso,
como filter → mutate → group_by → summarise,
seguía rondándome la cabeza.
Con SQL también se puede hacer el mismo trabajo,
pero sentía que era un poco incómodo
dejar el orden del razonamiento tal cual en el código.
Así que hice un pequeño experimento sobre DuckDB
No quería volver a montar el runtime de R,
y tampoco era fácil transmitir esta sensación solo con una explicación,
así que hice un pequeño experimento en forma de extensión de DuckDB
que convierte un pipeline estilo dplyr a SQL.
Por ahora solo cubre más o menos lo siguiente.
select,filter,mutatearrangegroup_by,summarise- funciones básicas de agregación
Todavía no maneja joins ni reestructuraciones complejas (como pivot, etc.).
Tampoco es un proyecto cuyo objetivo sea la compatibilidad completa con dplyr.
Por ahora es un experimento que surgió de una incomodidad muy personal,
así que también me interesa conocer la opinión de quienes hayan pensado en algo parecido.
Aún no hay comentarios.