O objetivo do q é trazer o poder expressivo do SQL para a linha de comando do Linux e fornecer acesso fácil ao texto como dados reais.
q permite o seguinte:
A tabela a seguir mostra o impacto do uso do cache:
Linhas | Colunas | Tamanho do arquivo | Tempo de consulta sem cache | Tempo de consulta com cache | Melhoria de velocidade |
---|---|---|---|---|---|
5.000.000 | 100 | 4,8 GB | 4 minutos e 47 segundos | 1,92 segundos | x149 |
1.000.000 | 100 | 983 MB | 50,9 segundos | 0,461 segundos | x110 |
1.000.000 | 50 | 477MB | 27,1 segundos | 0,272 segundos | x99 |
100.000 | 100 | 99 MB | 5,2 segundos | 0,141 segundos | x36 |
100.000 | 50 | 48 MB | 2,7 segundos | 0,105 segundos | x25 |
Observe que para a versão atual, o cache não está habilitado por padrão, pois os caches ocupam espaço em disco. Use -C readwrite
ou -C read
para habilitá-lo para uma consulta ou adicione caching_mode
a .qrc
para definir um novo padrão.
O site de q é https://harelba.github.io/q/ ou https://q.textasdata.wiki Ele contém tudo que você precisa para baixar e usar q imediatamente.
q trata arquivos comuns como tabelas de banco de dados e suporta todas as construções SQL, como WHERE
, GROUP BY
, JOIN
s, etc. Ele suporta detecção automática de nome e tipo de coluna e fornece suporte completo para codificações de vários caracteres.
Aqui estão alguns exemplos de comandos para ter uma ideia:
$ 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) "
Exemplos detalhados estão aqui
A nova versão principal 3.1.6
foi lançada com muitas adições significativas.
As instruções para todos os sistemas operacionais estão aqui.
A versão anterior 2.0.19
ainda pode ser baixada aqui
Quaisquer comentários/sugestões/reclamações sobre esta ferramenta serão muito apreciados. Contribuições também são bem-vindas, é claro.
Linkedin: Harel Ben Attia
Twitter @harelba
E-mail [email protected]
q no twitter: #qtextasdata
Patreon: harelba - Todo o dinheiro recebido é doado ao Centro de Prevenção e Tratamento da Violência Doméstica da minha cidade natal - Ramla, Israel.