วัตถุประสงค์ของ 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 ปฏิบัติต่อไฟล์ธรรมดาเสมือนเป็นตารางฐานข้อมูล และรองรับโครงสร้าง SQL ทั้งหมด เช่น WHERE
, GROUP BY
, JOIN
ฯลฯ รองรับการตรวจหาชื่อคอลัมน์และประเภทอัตโนมัติ และให้การสนับสนุนเต็มรูปแบบสำหรับการเข้ารหัสอักขระหลายตัว
ต่อไปนี้คือตัวอย่างคำสั่งบางส่วนในการทำความเข้าใจ:
$ 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) "
ตัวอย่างโดยละเอียดอยู่ที่นี่
New Major Version 3.1.6
ออกมาพร้อมกับส่วนเพิ่มเติมที่สำคัญมากมาย
คำแนะนำสำหรับระบบปฏิบัติการทั้งหมดอยู่ที่นี่
เวอร์ชันก่อนหน้า 2.0.19
ยังคงสามารถดาวน์โหลดได้จากที่นี่
ข้อเสนอแนะ/ข้อเสนอแนะ/ข้อร้องเรียนเกี่ยวกับเครื่องมือนี้จะได้รับการชื่นชมอย่างมาก แน่นอนว่าการบริจาคก็ยินดีต้อนรับเช่นกัน
Linkedin: ฮาเรล เบน แอตเทีย
ทวิตเตอร์ @harelba
อีเมล์ [email protected]
q บนทวิตเตอร์: #qtextasdata
Patreon: harelba - เงินทั้งหมดที่ได้รับบริจาคให้กับศูนย์ป้องกันและรักษาความรุนแรงในครอบครัวในบ้านเกิดของฉัน - รัมลา ประเทศอิสราเอล