Der Zweck von q besteht darin, SQL-Ausdruckskraft in die Linux-Befehlszeile zu bringen und einen einfachen Zugriff auf Text als tatsächliche Daten zu ermöglichen.
q ermöglicht Folgendes:
Die folgende Tabelle zeigt die Auswirkungen der Verwendung von Caching:
Reihen | Spalten | Dateigröße | Abfragezeit ohne Caching | Abfragezeit mit Caching | Geschwindigkeitsverbesserung |
---|---|---|---|---|---|
5.000.000 | 100 | 4,8 GB | 4 Minuten, 47 Sekunden | 1,92 Sekunden | x149 |
1.000.000 | 100 | 983 MB | 50,9 Sekunden | 0,461 Sekunden | x110 |
1.000.000 | 50 | 477 MB | 27,1 Sekunden | 0,272 Sekunden | x99 |
100.000 | 100 | 99 MB | 5,2 Sekunden | 0,141 Sekunden | x36 |
100.000 | 50 | 48 MB | 2,7 Sekunden | 0,105 Sekunden | x25 |
Beachten Sie, dass das Caching in der aktuellen Version standardmäßig nicht aktiviert ist, da die Caches Speicherplatz beanspruchen. Verwenden Sie -C readwrite
oder -C read
um es für eine Abfrage zu aktivieren, oder fügen Sie caching_mode
zu .qrc
hinzu, um einen neuen Standard festzulegen.
Die Website von q ist https://harelba.github.io/q/ oder https://q.textasdata.wiki. Sie enthält alles, was Sie zum Herunterladen und sofortigen Verwenden von q benötigen.
q behandelt gewöhnliche Dateien als Datenbanktabellen und unterstützt alle SQL-Konstrukte wie WHERE
, GROUP BY
, JOIN
s usw. Es unterstützt die automatische Erkennung von Spaltennamen und -typen und bietet vollständige Unterstützung für mehrere Zeichenkodierungen.
Hier sind einige Beispielbefehle, um sich einen Überblick zu verschaffen:
$ 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) "
Detaillierte Beispiele finden Sie hier
Die neue Hauptversion 3.1.6
ist mit vielen wichtigen Ergänzungen erschienen.
Anleitungen für alle Betriebssysteme finden Sie hier.
Die Vorgängerversion 2.0.19
kann weiterhin hier heruntergeladen werden
Für Rückmeldungen/Vorschläge/Beschwerden zu diesem Tool wären wir sehr dankbar. Selbstverständlich sind auch Beiträge herzlich willkommen.
Linkedin: Harel Ben Attia
Twitter @harelba
E-Mail an [email protected]
q auf Twitter: #qtextasdata
Patreon: harelba – Das gesamte erhaltene Geld wird an das Zentrum für die Prävention und Behandlung häuslicher Gewalt in meiner Heimatstadt Ramla, Israel, gespendet.