Le but de q est d'apporter la puissance d'expression SQL à la ligne de commande Linux et de fournir un accès facile au texte en tant que données réelles.
q permet ce qui suit :
Le tableau suivant montre l'impact de l'utilisation de la mise en cache :
Lignes | Colonnes | Taille du fichier | Temps de requête sans mise en cache | Temps de requête avec mise en cache | Amélioration de la vitesse |
---|---|---|---|---|---|
5 000 000 | 100 | 4,8 Go | 4 minutes et 47 secondes | 1,92 secondes | x149 |
1 000 000 | 100 | 983 Mo | 50,9 secondes | 0,461 seconde | x110 |
1 000 000 | 50 | 477 Mo | 27,1 secondes | 0,272 seconde | x99 |
100 000 | 100 | 99 Mo | 5,2 secondes | 0,141 seconde | x36 |
100 000 | 50 | 48 Mo | 2,7 secondes | 0,105 seconde | x25 |
Notez que pour la version actuelle, la mise en cache n'est pas activée par défaut, car les caches occupent de l'espace disque. Utilisez -C readwrite
ou -C read
pour l'activer pour une requête, ou ajoutez caching_mode
à .qrc
pour définir une nouvelle valeur par défaut.
Le site Web de q est https://harelba.github.io/q/ ou https://q.textasdata.wiki Il contient tout ce dont vous avez besoin pour télécharger et utiliser q immédiatement.
q traite les fichiers ordinaires comme des tables de base de données et prend en charge toutes les constructions SQL, telles que WHERE
, GROUP BY
, JOIN
, etc. Il prend en charge la détection automatique du nom et du type de colonne et fournit une prise en charge complète des codages de caractères multiples.
Voici quelques exemples de commandes pour vous faire une idée :
$ 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) "
Des exemples détaillés sont ici
La nouvelle version majeure 3.1.6
est sortie avec de nombreux ajouts importants.
Les instructions pour tous les systèmes d’exploitation sont ici.
La version précédente 2.0.19
peut toujours être téléchargée ici
Tout commentaire/suggestions/plaintes concernant cet outil serait très apprécié. Les contributions sont également les bienvenues, bien sûr.
Linkedin : Harel Ben Attia
Twitter @harelba
Envoyer un e-mail à [email protected]
q sur Twitter : #qtextasdata
Patreon : harelba - Tout l'argent reçu est reversé au Centre pour la prévention et le traitement de la violence domestique de ma ville natale - Ramla, Israël.