DuckDB emerge como el nuevo jq
- El proyecto DuckDB es una base de datos tipo SQLite para aplicaciones de datos, e incluye la capacidad de importar diversos formatos de datos sin dependencias adicionales.
- Puede leer y parsear archivos JSON directamente como tablas de base de datos, y esto también aplica a muchos otros formatos.
- Al trabajar con JSON normalmente se usa
jq, pero como la sintaxis compleja de jq puede ser menos cómoda que SQL para quienes ya la conocen, usar DuckDB resulta más práctico.
- Por ejemplo, usando la API de GitHub para obtener en JSON la información de los repositorios de la organización golang, es posible obtener fácilmente con SQL estadísticas sobre los tipos de licencias open source.
- Escribir sentencias SQL con DuckDB se puede hacer fácilmente incluso sin consultar la documentación, ya que usa una sintaxis similar a la de las funciones JSON de PostgreSQL.
- DuckDB también soporta salida en JSON y, si hace falta, se puede usar
jq para mostrar los resultados de forma más legible.
- DuckDB puede importar no solo JSON, sino también diversos formatos de datos como CSV, parquet y archivos de Excel.
- Si no necesitas almacenar los datos de forma persistente, puedes consultarlos sin crear tablas.
- DuckDB puede leer JSON no solo desde archivos locales, sino también directamente desde una URL.
Opinión de GN⁺
- DuckDB puede convertirse en una herramienta interesante para quienes realizan con frecuencia tareas relacionadas con análisis de datos. En especial, para personas familiarizadas con SQL, puede ser una alternativa potente para manejar datos JSON con facilidad.
- El hecho de que DuckDB pueda leer datos JSON directamente simplifica el proceso de preprocesamiento de datos y ofrece la ventaja de reducir pasos de transformación separados al construir pipelines de datos.
- Si el uso de DuckDB sigue expandiéndose, podría reducir la curva de aprendizaje y mejorar la productividad frente a herramientas tradicionales más complejas para análisis y procesamiento de datos.
- Sin embargo, si DuckDB aún no es ampliamente conocido o no cuenta con suficiente apoyo de la comunidad, a los usuarios podría resultarles difícil encontrar soluciones cuando enfrenten problemas.
- Otros proyectos open source que ofrecen funciones similares a DuckDB incluyen Apache Drill y PrestoDB, y también permiten consultas SQL sobre grandes conjuntos de datos.
1 comentarios
Comentarios de Hacker News
La combinación de jq y las herramientas básicas del shell
curl ... | jq '.[].license.key' | sort | uniq -c.Babashka y Clojure
CLI local de ClickHouse
Uso de jq, DuckDB y SQL
Consultas en Google Sheets
Logging estructurado con una base de datos SQLite
Benthos
Nushell
pq (prql-query)
JSON y el uso de lenguajes de programación