الغرض من q هو جلب قوة SQL التعبيرية إلى سطر أوامر Linux وتوفير وصول سهل إلى النص كبيانات فعلية.
س يسمح بما يلي:
ويوضح الجدول التالي تأثير استخدام التخزين المؤقت:
الصفوف | أعمدة | حجم الملف | وقت الاستعلام دون التخزين المؤقت | وقت الاستعلام مع التخزين المؤقت | تحسين السرعة |
---|---|---|---|---|---|
5,000,000 | 100 | 4.8 جيجابايت | 4 دقائق و47 ثانية | 1.92 ثانية | x149 |
1,000,000 | 100 | 983 ميجابايت | 50.9 ثانية | 0.461 ثانية | x110 |
1,000,000 | 50 | 477 ميجابايت | 27.1 ثانية | 0.272 ثانية | x99 |
100.000 | 100 | 99 ميجابايت | 5.2 ثانية | 0.141 ثانية | x36 |
100.000 | 50 | 48 ميجابايت | 2.7 ثانية | 0.105 ثانية | ×25 |
لاحظ أنه بالنسبة للإصدار الحالي، لا يتم تمكين التخزين المؤقت افتراضيًا، نظرًا لأن ذاكرات التخزين المؤقت تشغل مساحة على القرص. استخدم -C readwrite
أو -C read
لتمكينه للاستعلام، أو قم بإضافة caching_mode
إلى .qrc
لتعيين الإعداد الافتراضي الجديد.
موقع الويب الخاص بـ q هو https://harelba.github.io/q/ أو https://q.textasdata.wiki وهو يحتوي على كل ما تحتاج إلى تنزيله واستخدامه على الفور.
يتعامل q مع الملفات العادية كجداول قاعدة بيانات، ويدعم جميع بنيات SQL، مثل WHERE
و GROUP BY
و JOIN
s وما إلى ذلك. وهو يدعم الكشف التلقائي عن اسم العمود ونوعه، ويوفر الدعم الكامل لترميزات الأحرف المتعددة.
فيما يلي بعض الأمثلة على الأوامر للحصول على الفكرة:
$ 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
مع الكثير من الإضافات المهمة.
التعليمات الخاصة بجميع أنظمة التشغيل موجودة هنا.
لا يزال من الممكن تنزيل الإصدار السابق 2.0.19
من هنا
أي تعليقات/اقتراحات/شكاوى بخصوص هذه الأداة ستكون موضع تقدير كبير. المساهمات هي موضع ترحيب أيضا، بطبيعة الحال.
لينكد إن: هرئيل بن عطية
تويترharelba
البريد الإلكتروني:[email protected]
ف على تويتر: #qtextasdata
Patreon: harelba - يتم التبرع بجميع الأموال التي تلقيتها إلى مركز الوقاية من العنف المنزلي وعلاجه في مدينتي - الرملة، إسرائيل.