تحويل CSV إلى Parquet
إنشاء ملف CSV سهل، لكن الاستعلام عنه بطيء. ارفع ملف CSV واحصل على ملف Apache Parquet يحمل نوع عمود لكل حقل، مضغوطًا وجاهزًا لأداة التحليل التي ستحمّله فيها.
محوّل البيانات
أو أفلت ملفات CSV, TSV, TXT … هنا ·
الحد الأقصى 95 MB لكل ملف· حتى 20 ملفًا· تُحذف بعد 30 دقيقة
تُعالج الملفات على خوادمنا وتُحذف بعد 30 دقيقة.
الحرف الذي يفصل الأعمدة في ملفات CSV والنصوص، للقراءة والكتابة معًا. الاكتشاف التلقائي يحدده من المدخلات ويكتب الفواصل.
يعمل UTF-8 مع جميع اللغات. اختر UTF-8 with BOM إذا عرض Excel على Windows الحروف المشكولة أو الآسيوية بشكل مشوّه عند فتح ملف CSV.
لمدخلات Excel وODS وNumbers: حوّل الورقة الأولى فقط أو كل الأوراق (ملف CSV لكل ورقة داخل ZIP، أو مفتاح JSON لكل ورقة).
اسم تبويب الورقة في جدول البيانات الجديد، بحد أقصى 31 حرفًا.
مصفوفة كائنات تستخدم أسماء الأعمدة مفاتيح لكل صف؛ ومصفوفة مصفوفات أكثر إحكامًا وتُبقي الترويسة كأول مصفوفة.
اسم العنصر الخارجي الذي يضم كل الصفوف؛ ويصبح كل صف عنصر <row> داخله.
يُستخدم في عبارتي CREATE TABLE وINSERT. حروف وأرقام وشرطات سفلية فقط.
يختلف اقتباس الأسماء وأنواع الأعمدة قليلًا بين قواعد البيانات؛ اختر القاعدة التي ستستورد إليها.
أعد كتابة خلايا التاريخ بصيغة واحدة. صيغة ISO (2026-10-18) هي الأكثر أمانًا لقواعد البيانات والبرمجة؛ وخيار الإبقاء يتركها كما وردت في المصدر.
طريقة استخدام هذه الأداة
- 1
ارفع ملفات CSV
أضف ملف تصدير واحدًا أو حتى 20 ملفًا بالتخطيط نفسه، بحجم يصل إلى 95 MB لكل ملف. يتعامل الخيار الفاصل عند ضبطه على الكشف التلقائي مع الفواصل والفواصل المنقوطة والتبويبات والخطوط العمودية.
- 2
أبقِ إعدادات العناوين والتواريخ كما هي
يحوّل الخيار الصف الأول عناوين سطر العناوين إلى أسماء الأعمدة. أما التواريخ فهو مضبوط على ISO لتُكتب أعمدة التاريخ بصيغة موحّدة.
- 3
حوّل إلى Parquet
اضغط التحويل إلى Parquet ثم حمّل ملف .parquet في pandas أو DuckDB أو Spark أو مستودع بياناتك.
لماذا تحوّل فرق البيانات CSV إلى Parquet
أنشأ مهندسون في Twitter وCloudera صيغة Parquet عام 2013، مستندين إلى التخطيط العمودي الذي وصفته Google في ورقة Dremel عام 2010، وأصبحت مشروعًا رئيسيًا في Apache عام 2015. الفكرة بسيطة: بدل تخزين الجدول صفًا بصف كما يفعل CSV، تُخزَّن كل قيم العمود الواحد معًا. فالاستعلام الذي يحتاج ثلاثة أعمدة من أربعين يقرأ هذه الثلاثة فقط، والقيم المتشابهة المتجاورة تُضغط بكفاءة أكبر بكثير.
لهذا يحوّل المحللون ملفات التصدير قبل تحميلها، ويطلب مهندسو البيانات من الموردين Parquet بدل CSV، وتصبح خدمات مثل Amazon Athena وBigQuery، التي قد تحاسب بحسب كمية البيانات الممسوحة، أرخص في الاستعلام. كما أن CSV لا يعرف هل 0042 رقم أم رمز؛ أما Parquet فيسجّل نوعًا لكل عمود، فلا تضطر الأداة التالية إلى التخمين.
Parquet مقابل CSV مقابل XLSX للجداول الكبيرة
| Parquet | CSV | XLSX | |
|---|---|---|---|
| أنواع الأعمدة مخزّنة في الملف | yes | no | لكل خلية |
| يقرأ الأعمدة التي يحتاجها الاستعلام فقط | yes | no | no |
| مضغوط | yes | no | yes |
| قابل للقراءة في محرر نصوص | no | yes | no |
| يُفتح في Excel بنقرة مزدوجة | no | yes | yes |
| عدد الصفوف في الملف | بلا حد ثابت | بلا حد ثابت | 1,048,576 في الورقة الواحدة |
ما الذي يتغير عند تحويل CSV إلى Parquet
ما تكسبه
- استعلامات أسرع تقرأ الأعمدة المطلوبة فقط
- ملفات أصغر للتخزين والنقل
- مخطط تقرؤه الأداة التالية بدل أن تخمّن
- تواريخ مكتوبة مرة واحدة بصيغة ISO
ما يجب مراعاته
- لا يمكن تعديله في جدول بيانات أو محرر نصوص
- خطأ مطبعي في عمود رقمي قد يحوّل العمود كله إلى نص
- احتفظ بملف CSV إن كان الناس ما زالوا يحتاجون إلى فتحه
معلومات عن صيغتي CSV وParquet
CSV
قيم مفصولة بفواصل
CSV هو تنسيق نص عادي للجداول، يمثل فيه كل سطر صفًّا وتفصل الفواصل بين الأعمدة. يُستخدم منذ بدايات الحوسبة ووصفه المعيار RFC 4180، مع أن كثيرًا من صيغه تستخدم الفاصلة المنقوطة أو علامات الجدولة وترميزات نصية مختلفة. يمكن لكل جداول البيانات وقواعد البيانات وأدوات التحليل تقريبًا استيراده وتصديره، مما يجعله التنسيق الافتراضي لنقل البيانات بين الأنظمة. يخزّن CSV القيم فقط، دون صيغ حسابية أو تنسيق أو أوراق متعددة أو أنواع بيانات.
- الضغط
- –
- الشفافية
- –
- الحركة
- –
- سنة الظهور
- –
PARQUET
Apache Parquet
Parquet هي صيغة تخزين عمودية مفتوحة المصدر أنشأتها Twitter وCloudera عام 2013 وتشرف عليها Apache Software Foundation. تخزّن البيانات حسب الأعمدة مع ضغط قوي ومخططات محددة الأنواع، فتقرأ أدوات التحليل الأعمدة التي تحتاجها فقط. وهي معيار في بحيرات البيانات وأدوات مثل Spark وpandas وDuckDB وBigQuery وSnowflake. ملفات Parquet ثنائية ولا يمكن فتحها في محرر نصوص أو تطبيق جداول عادي.
- الضغط
- دون فقدان
- الشفافية
- –
- الحركة
- –
- سنة الظهور
- 2013 · Apache Software Foundation (from Twitter and Cloudera)
يتحول CSV إلى Parquet حين يتوقف الملف عن كونه شيئًا يفتحه الناس ويصبح شيئًا تمسحه الاستعلامات: تصدير يومي يصل إلى بحيرة بيانات، أو مجموعة بيانات تُشارك مع المحللين، أو سجلات تُصفّى بحسب بضعة أعمدة في كل مرة.
نظّف ملف CSV قبل التحويل لا بعده: صحّح أسماء العناوين، واحذف أسطر الملخص في الأسفل، وتأكد من أن كل عمود يحمل نوعًا واحدًا من القيم. وإن كان المصدر نسخة احتياطية لقاعدة بيانات لا ملف CSV، فابدأ بـتحويل SQL إلى CSV. وجميع الصيغ الأخرى، من JSON إلى SQL، في صفحة محول البيانات.
أسئلة حول تحويل CSV إلى Parquet
كم سيكون ملف Parquet أصغر من ملف CSV؟
يعتمد ذلك على البيانات. الأعمدة ذات القيم المتكررة كثيرًا، مثل رموز الدول أو الحالات أو التواريخ، تُضغط جيدًا، بينما تتقلص أعمدة المعرّفات الفريدة أو النصوص الحرة بدرجة أقل. يكون ملف Parquet عادةً جزءًا صغيرًا من حجم CSV، لكن لا توجد نسبة ثابتة يمكن الوعد بها.
ما الأدوات التي تقرأ ملف .parquet الناتج؟
pandas عبر read_parquet، وPolars، وDuckDB باستعلام SELECT بسيط على اسم الملف، وApache Spark، ومستودعات البيانات السحابية مثل BigQuery وSnowflake وAmazon Athena وRedshift Spectrum. ويستطيع معظمها أيضًا الاستعلام عن مجلد من ملفات Parquet ذات الأعمدة نفسها كأنه جدول واحد.
كيف تُحدَّد أنواع الأعمدة؟
من القيم في كل عمود: الأعداد الصحيحة والعشرية والتواريخ وقيم صح/خطأ تأخذ أنواعًا مطابقة، ويبقى العمود ذو المحتوى المختلط نصًا. تحقق بعد التحويل من الرموز التي تبدأ بأصفار، مثل الرموز البريدية كـ 02134، وأبقها نصًا إن كان يجب الحفاظ على الصفر.
هل يمكنني تحويل عدة ملفات CSV لها البنية نفسها؟
نعم، حتى 20 ملفًا في الدفعة الواحدة، ويصبح كل ملف ملف .parquet مستقلًا. ضعها في مجلد واحد ويستطيع DuckDB أو Spark قراءتها معًا باستخدام نمط عام مثل sales_*.parquet.
كيف أطّلع على محتوى ملف Parquet دون كتابة شيفرة؟
لا يستطيع Excel وGoogle Sheets فتح ملفات .parquet بنقرة مزدوجة. أعدها إلى صفوف عبر تحويل Parquet إلى CSV، أو استخدم سطر أوامر DuckDB إن كنت مرتاحًا لاستعلام SQL واحد.