q의 목적은 SQL 표현 능력을 Linux 명령줄에 적용하고 텍스트에 실제 데이터로 쉽게 액세스할 수 있도록 하는 것입니다.
q는 다음을 허용합니다:
다음 표에서는 캐싱 사용의 영향을 보여줍니다.
행 | 열 | 파일 크기 | 캐싱 없는 쿼리 시간 | 캐싱을 사용한 쿼리 시간 | 속도 개선 |
---|---|---|---|---|---|
5,000,000 | 100 | 4.8GB | 4분 47초 | 1.92초 | x149 |
1,000,000 | 100 | 983MB | 50.9초 | 0.461초 | x110 |
1,000,000 | 50 | 477MB | 27.1초 | 0.272초 | x99 |
100,000 | 100 | 99MB | 5.2초 | 0.141초 | x36 |
100,000 | 50 | 48MB | 2.7초 | 0.105초 | x25 |
현재 버전에서는 캐시가 디스크 공간을 차지하므로 기본적으로 캐싱이 활성화되지 않습니다 . -C readwrite
또는 -C read
사용하여 쿼리에 대해 활성화하거나 caching_mode
.qrc
에 추가하여 새 기본값을 설정하세요.
q의 웹사이트는 https://harelba.github.io/q/ 또는 https://q.textasdata.wiki입니다. 여기에는 q를 즉시 다운로드하고 사용하는 데 필요한 모든 것이 포함되어 있습니다.
q는 일반 파일을 데이터베이스 테이블로 처리하고 WHERE
, GROUP BY
, JOIN
등과 같은 모든 SQL 구성을 지원합니다. 자동 열 이름 및 유형 감지를 지원하고 다중 문자 인코딩을 완벽하게 지원합니다.
다음은 아이디어를 얻기 위한 몇 가지 예제 명령입니다.
$ 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) "
자세한 예시는 여기에 있습니다
새로운 주요 버전 3.1.6
에는 중요한 추가 사항이 많이 추가되었습니다.
모든 OS에 대한 지침은 여기에 있습니다.
이전 버전 2.0.19
여기에서 계속 다운로드할 수 있습니다.
이 도구에 대한 피드백/제안/불만 사항을 보내주시면 감사하겠습니다. 물론 기여도 매우 환영합니다.
링크드인: Harel Ben Attia
트위터 @harelba
q 트위터: #qtextasdata
Patreon: harelba - 받은 돈은 모두 제 고향인 이스라엘 람라에 있는 가정폭력 예방 및 치료 센터에 기부됩니다.