Real DB Admin crea una base de datos real. Baby DB Admin hace CSV. Y es realmente molesto manipular archivos CSV, o incluso JSON, TSV, Parquet o incluso archivos de texto línea por línea.
Afortunadamente, gracias a Lolilol, descubrí una pequeña herramienta muy agradable que te permitirá manipular archivos de datos con SQL, como si estuvieras en una base de datos real. Esta herramienta es OctoSQL y más allá del clásico SELECT * FROM, incluso podrás realizar uniones entre tus archivos, aunque sean de diferentes tipos.
Para instalarlo, dirígete a Github o directamente con brew:
brew install cube2222/octosql/octosql
De lo contrario, es Go, por lo que se puede compilar así:
git clone https://github.com/cube2222/octosql cd octosql go install
Y ahí lo tienes, luego hay más. Para mis pruebas, generé algunos archivos CSV falsos desde este sitio y luego pude consultarlos en SQL.
El clásico SELECT*:
octosql "SELECT * FROM data.csv"
Luego algunas cosas un poco más complicadas:
octosql "SELECT * FROM data.csv WHERE email LIKE '%gov%'"
Y como os dije, incluso podemos hacer uniones así:
octosql "SELECT * FROM ID.csv LEFT JOIN data.csv ON ID.id = data.id WHERE email LIKE '%.fr%'"
Incluso hay un sistema de complementos para ampliar la funcionalidad de la herramienta. Por ejemplo, puede instalar el complemento postgreSQL o MySQL para mezclar la base de datos real con archivos de datos estáticos. Genial, ¿verdad?
Incluso hay un complemento para generar datos aleatorios:
octosql plugin install random_data octosql "SELECT * FROM random_data.users" --describe
La herramienta también es capaz de gestionar todos los flujos de datos. Esto significa que puede iniciar una consulta sobre datos que llegan en un flujo continuo. Te dejaré probar esta última parte, ya que a mí no pude ejecutarla.
¡Para descubrir aquí!