El propósito de q es llevar el poder expresivo de SQL a la línea de comandos de Linux y proporcionar un fácil acceso al texto como datos reales.
q permite lo siguiente:
La siguiente tabla muestra el impacto del uso del almacenamiento en caché:
Filas | columnas | Tamaño de archivo | Tiempo de consulta sin almacenamiento en caché | Tiempo de consulta con almacenamiento en caché | Mejora de la velocidad |
---|---|---|---|---|---|
5.000.000 | 100 | 4,8GB | 4 minutos, 47 segundos | 1,92 segundos | x149 |
1.000.000 | 100 | 983MB | 50,9 segundos | 0,461 segundos | x110 |
1.000.000 | 50 | 477MB | 27,1 segundos | 0,272 segundos | x99 |
100.000 | 100 | 99MB | 5,2 segundos | 0,141 segundos | x36 |
100.000 | 50 | 48MB | 2,7 segundos | 0,105 segundos | x25 |
Tenga en cuenta que para la versión actual, el almacenamiento en caché no está habilitado de forma predeterminada, ya que los cachés ocupan espacio en el disco. Utilice -C readwrite
o -C read
para habilitarlo para una consulta, o agregue caching_mode
a .qrc
para establecer un nuevo valor predeterminado.
El sitio web de q es https://harelba.github.io/q/ o https://q.textasdata.wiki. Contiene todo lo que necesita para descargar y usar q inmediatamente.
q trata los archivos ordinarios como tablas de bases de datos y admite todas las construcciones SQL, como WHERE
, GROUP BY
, JOIN
, etc. Admite la detección automática de nombres y tipos de columnas y proporciona soporte completo para codificaciones de múltiples caracteres.
A continuación se muestran algunos comandos de ejemplo para hacerse una idea:
$ q " SELECT COUNT(*) FROM ./clicks_file.csv WHERE c3 > 32.3 "
$ ps -ef | q -H " SELECT UID, COUNT(*) cnt FROM - GROUP BY UID ORDER BY cnt DESC LIMIT 3 "
$ q " select count(*) from some_db.sqlite3:::albums a left join another_db.sqlite3:::tracks t on (a.album_id = t.album_id) "
Ejemplos detallados están aquí.
La nueva versión principal 3.1.6
ya está disponible con muchas adiciones importantes.
Las instrucciones para todos los sistemas operativos están aquí.
La versión anterior 2.0.19
todavía se puede descargar desde aquí.
Cualquier comentario/sugerencia/queja con respecto a esta herramienta será muy apreciada. Por supuesto, las contribuciones también son bienvenidas.
Linkedin: Harel Ben Attia
Twitter @harelba
Correo electrónico [email protected]
q en twitter: #qtextasdata
Patreon: harelba - Todo el dinero recibido se dona al Centro para la Prevención y el Tratamiento de la Violencia Doméstica en mi ciudad natal, Ramla, Israel.