12 puntos por GN⁺ 2024-10-07 | 2 comentarios | Compartir por WhatsApp
  • Herramienta de código abierto para inspección de datos, consultas, joins, importación y exportación, útil para trabajar con bases de datos y documentos
  • Usa un lenguaje de consulta llamado SLQ y admite diversas fuentes y formatos de datos

Funciones principales

  • Comparar tablas de bases de datos: se puede usar el comando diff para comparar metadatos de origen o valores de filas.
  • Importar datos de Excel a Postgres: se puede insertar el contenido de una hoja de cálculo Excel XLSX en una nueva tabla de Postgres.
  • Ver metadatos de la base de datos: se puede usar la bandera --json para mostrar esquemas y otros metadatos en formato JSON.
  • Obtener todos los nombres de columnas de una tabla MySQL: se pueden extraer fácilmente los nombres de columnas de una tabla específica.
  • Ejecutar consultas en SQL Server e insertar los resultados en SQLite: se pueden ejecutar consultas en SQL Server e insertar los resultados en SQLite.
  • Exportar todas las tablas de la base de datos a CSV: se pueden extraer nombres de tablas usando metadatos JSON y generar cada tabla como archivo CSV.

Comandos de fuentes

  • Agregar y administrar fuentes: ofrece comandos para agregar, activar, mover, listar, agrupar, hacer ping o eliminar fuentes.
  • Comandos para tablas de bases de datos: ofrece comandos prácticos como copiar, cortar y eliminar tablas.

Consultas JSONL

  • Compatibilidad con formato JSONL: permite consultar archivos de registro en formato JSON Lines.

Fuentes SQL y formatos de salida

  • Bases de datos compatibles: admite Postgres, SQLite, MySQL, MariaDB, SQL Server, Azure SQL Edge y más.
  • Otras fuentes: se pueden importar datos desde formatos como Excel XLSX, CSV, TSV, JSON, JSONA y JSONL.
  • Formatos de salida: permite salida en varios formatos, como inserción en bases de datos SQL, Excel XLSX, CSV, TSV, JSON, JSONL, JSONA, XML, HTML, Markdown y Raw.

Resumen de GN⁺

  • sq es una herramienta potente para trabajar con datos de bases de datos y documentos, con soporte para diversas fuentes y formatos que aporta flexibilidad al procesamiento de datos.
  • Puede simplificar el trabajo con datos mediante funciones como mover datos entre bases de datos, gestionar metadatos y convertir datos a distintos formatos.
  • Es útil para desarrolladores interesados en la administración de bases de datos y el procesamiento de datos, especialmente en proyectos que manejan múltiples fuentes de datos.
  • Herramientas con funciones similares incluyen jq, pandas y Apache Drill.

2 comentarios

 
xguru 2024-10-08

SQ - swiss-army knife for data

Lo presentaron hace tres años y medio, y desde entonces le han agregado muchas funciones.

 
GN⁺ 2024-10-07
Comentarios de Hacker News
  • No me parece que el lenguaje de consultas de JQ sea particularmente atractivo. No entiendo por qué elegir el lenguaje tipo XPATH de JQ al consultar una base de datos
  • Me pregunto si existe una herramienta que tome entrada JSON y permita consultarla con sintaxis SQL. Eso sería más atractivo para usuarios de larga data
  • Se propone empaquetar Python como un único ejecutable y enlazar simbólicamente aplicaciones y módulos al estilo Unix
    • Muchos desarrolladores consideran los aspectos estéticos como lo menos importante al elegir herramientas. Otros factores importan más que el empaquetado o la consistencia estética
  • Siento que la demo depende demasiado del estado. La verdadera fortaleza de jq es su confiabilidad y la capacidad de entender su comportamiento, y las herramientas que dependen del estado carecen de eso
  • No veo nada que no se pueda hacer con SQL estándar y herramientas CLI. Aprender SQL estándar daría conocimientos más reutilizables
  • Las herramientas nuevas siempre son buenas. Aunque no se vuelvan convencionales, siempre es bueno explorar nuevas maneras de trabajar con bases de datos
  • Me gusta sq. Es útil para hacer tareas simples rápidamente en una DB y exportar como CSV o JSON. Eso sí, ojalá el lenguaje de consultas de sq (SLQ) admitiera coincidencia de subcadenas como ... LIKE "SOME_STRING%" de SQL. Se puede invocar SQL manualmente
  • Leí que se añadirá salida JSON a Postgres. .wrangle | .data funciona en un iPhone 13 mini
  • Me habría gustado tener esta herramienta cuando usaba bases de datos SQL
  • Sería bueno que los logs de Zeek tuvieran soporte para TSV