تبدیل CSV به Parquet
ساختن فایل CSV آسان است، اما کوئری گرفتن از آن کند است. یک فایل CSV بارگذاری کنید و یک فایل Apache Parquet تحویل بگیرید که هر فیلد آن نوع ستون مشخصی دارد، فشرده شده و برای ابزار تحلیلی موردنظرتان آماده است.
مبدل داده
یا فایلهای CSV, TSV, TXT … را اینجا رها کنید ·
حداکثر 95 MB برای هر فایل· تا 20 فایل· حذف پس از 30 دقیقه
فایلها روی سرورهای ما پردازش میشوند و پس از 30 دقیقه حذف میشوند.
نویسهای که ستونها را در فایلهای CSV و متنی جدا میکند، هم برای خواندن و هم برای نوشتن. حالت خودکار آن را از ورودی تشخیص میدهد و با ویرگول مینویسد.
UTF-8 برای همه زبانها کار میکند. اگر Excel در ویندوز هنگام باز کردن CSV نویسههای اروپایی یا آسیایی را خراب نشان میدهد، UTF-8 با BOM را انتخاب کنید.
ورودی 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 تبدیل میکنند
Parquet در سال 2013 توسط مهندسان Twitter و Cloudera ساخته شد، بر پایهٔ چینش ستونیای که Google در مقالهٔ Dremel در 2010 توصیف کرده بود، و در 2015 به پروژهٔ سطح بالای Apache تبدیل شد. ایده ساده است: بهجای ذخیرهٔ جدول ردیفبهردیف مثل CSV، همهٔ مقدارهای یک ستون کنار هم ذخیره میشوند. پرسوجویی که از چهل ستون فقط سه ستون لازم دارد، همان سه را میخواند و مقدارهای مشابهِ کنار هم خیلی بهتر فشرده میشوند.
به همین دلیل تحلیلگران خروجیها را پیش از بارگذاری تبدیل میکنند، مهندسان داده از تأمینکنندگان بهجای CSV فایل Parquet میخواهند، و سرویسهایی مثل 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 چه چیزی تغییر میکند
چه چیزی به دست میآورید
- پرسوجوهای سریعتر که فقط ستونهای لازم را میخوانند
- فایلهای کوچکتر برای ذخیره و انتقال
- طرحی (schema) که ابزار بعدی بهجای حدس زدن میخواند
- تاریخها یکبار با قالب ISO نوشته میشوند
نکاتی که باید در نظر داشت
- در صفحهگسترده یا ویرایشگر متن قابل ویرایش نیست
- یک غلط تایپی در ستون عددی میتواند کل ستون را به متن تبدیل کند
- اگر دیگران هنوز باید فایل را باز کنند، CSV را نگه دارید
مشخصات فرمتهای CSV و Parquet
CSV
مقادیر جداشده با کاما
CSV یک قالب متن ساده برای جدولهاست که در آن هر خط یک ردیف است و ستونها با کاما از هم جدا میشوند. این قالب از روزهای نخست رایانه استفاده میشده و در RFC 4180 توضیح داده شده است، هرچند بسیاری از گونهها از نقطهویرگول یا تب و رمزگذاریهای متنی متفاوت استفاده میکنند. تقریباً هر صفحهگسترده، پایگاه داده و ابزار تحلیلی میتواند آن را وارد یا صادر کند و به همین دلیل قالب پیشفرض انتقال داده بین سیستمهاست. CSV فقط مقادیر را ذخیره میکند و فرمول، قالببندی، چند برگه یا نوع داده ندارد.
- فشردهسازی
- –
- شفافیت
- –
- انیمیشن
- –
- سال معرفی
- –
PARQUET
Apache Parquet
Parquet یک فرمت ذخیرهسازی ستونی متنباز است که Twitter و Cloudera در سال ۲۰۱۳ ساختند و 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 دوباره آن را به ردیف تبدیل کنید، یا اگر با یک پرسوجوی SQL راحتید از خط فرمان DuckDB استفاده کنید.