مقارنة
JSON Lines أم Parquet
يحفظ JSON Lines قيمة JSON مستقلة في كل سطر نصي بترميز UTF-8. أما Parquet فهو ملف ثنائي عمودي يحتوي على مجموعات صفوف وأجزاء أعمدة.
أي تنسيق يجب أن تختار؟
فكّر في JSONL لإنتاج الأحداث واستيعابها واحدًا تلو الآخر، وفي Parquet لقراءة أعمدة محددة من بيانات تحليلية ذات أنواع متسقة.
مناسب لـ JSON Lines
السجلات التي تعالج سطراً بسطر · تبادل سجلات JSON على شكل تدفق
- قراءة السجلات وكتابتها تدريجياً
- إلحاق البيانات النصية أو دمجها بأدوات شائعة
مناسب لـ Parquet
حفظ جداول منظمة للتحليل
- مجموعات كبيرة تُقرأ منها أعمدة مختارة
المعلومات الأساسية
| البند | JSON Lines | Parquet |
|---|---|---|
| الامتداد | .jsonl, .ndjson | .parquet |
| نوع MIME | application/jsonl | application/vnd.apache.parquet |
| الاستخدامات الشائعة | السجلات التي تعالج سطراً بسطر · تبادل سجلات JSON على شكل تدفق | حفظ جداول منظمة للتحليل |
| طريقة الفتح | افتح الملف بمحرر نصوص أو أداة تدعم JSON Lines. يساعد التحقق من كل سطر كـJSON في تحديد السجل الذي يحتوي على خطأ نحوي. | استخدم أداة تدعم Parquet لفحص المخطط وأنواع الأعمدة وعدد الصفوف والقيم. |
| التصدير أو التحويل | لإنشاء مصفوفة JSON، اجمع الأسطر كعناصر فيها. وللتحويل إلى JSON Lines، اكتب كل قيمة في سطر منفصل. راعِ استخدام الذاكرة عند معالجة الملفات الكبيرة. | عند التحويل من CSV أو غيره، تحقق من الأنواع والقيم الفارغة والتواريخ والترميز والتقسيم وعدد الصفوف. |
الاختيار حسب الاستخدام
قراءة السجلات وكتابتها تدريجياً
السجلات التي تعالج سطراً بسطر · تبادل سجلات JSON على شكل تدفق
JSON Linesإلحاق البيانات النصية أو دمجها بأدوات شائعة
السجلات التي تعالج سطراً بسطر · تبادل سجلات JSON على شكل تدفق
JSON Linesمجموعات كبيرة تُقرأ منها أعمدة مختارة
حفظ جداول منظمة للتحليل
Parquetنقطة أساسية 1
يمكن تحليل JSONL سطرًا بسطر. تسهّل نهاية السطر الأخيرة إضافة السجلات ودمج الملفات.
مزيد من التفاصيل حول الاختلافاتنقطة أساسية 2
تحدد قارئات Parquet مواقع أجزاء الأعمدة من بيانات وصفية في نهاية الملف؛ وهذا ليس كإضافة أسطر نصية مباشرة.
مزيد من التفاصيل حول الاختلافاتمزيد من التفاصيل حول الاختلافات
قِس باستخدام البيانات والضغط والأدوات نفسها؛ لا يوجد تنسيق أسرع أو أصغر دائمًا.
- حدّد المخطط وأنواع الأعمدة عند التحويل، وتحقق من الحقول الغائبة مقابل null ودقة الأعداد الصحيحة والطوابع الزمنية والقيم المتداخلة.
- يسمح JSONL أيضًا بقيم مفردة ومصفوفات كسجلات كاملة؛ حدّد كيف ستُمثَّل السجلات ذات البنى المختلفة كصفوف قبل التحويل.
الأسئلة الشائعة
هل يمكن تحويل JSONL إلى Parquet دون تحديد الأنواع؟
يجب أن يربط المحوّل القيم بمخطط وأنواع، سواء بإعداد صريح أو بالاستنتاج. تحقّق من الربط وارفض القيم غير المتوقعة.