Parquet को TSV में बदलें

यहाँ आप Parquet को TSV में बदलते हैं, मुफ़्त और बिना खाते के: फ़ाइल ऊपर छोड़िए और कुछ ही सेकंड में नतीजा डाउनलोड के लिए तैयार मिलेगा। कन्वर्ज़न आपके अपने ब्राउज़र के भीतर होता है, इसलिए फ़ाइल कभी अपलोड नहीं होती। यह Windows, macOS और Linux पर वैसे ही चलता है जैसे iPhone और Android पर, और कनेक्शन काट देने पर भी चलता रहता है।

  • कहाँ चलता है आपके ब्राउज़र में। फ़ाइल कभी अपलोड नहीं होती।
  • बिना नुक़सान कुछ नहीं छोड़ा जाता। Parquet में जो था, TSV में ठीक वही रहता है।
  • फ़ाइल आकार की सीमा हर फ़ाइल 100 MB तक, मुफ़्त, बिना खाते के।

एक बार में 100 फ़ाइलें। फ़ॉर्मेट अलग-अलग हों तो भी चलेगा।

Parquet फ़ाइल कोई ऐसी चीज़ नहीं जिसे देखा जा सके

यह एक बाइनरी कंटेनर है। इस पर head चलाने से चार अक्षर PAR1 और उसके बाद स्क्रीन भर शोर मिलता है, grep कुछ भरोसेमंद नहीं पाता क्योंकि मूल्य संपीड़ित और डिक्शनरी-एनकोडेड होते हैं।

यही इस बदलाव की वजह है: किसी सर्वर पर पड़ा Parquet निर्यात, बिना एडमिन अधिकार का लैपटॉप, कुछ भी इंस्टॉल न हुआ कंटेनर, या किसी सवाल के साथ भेजी गई फ़ाइल जिसका जवाब दो मिनट में चाहिए। पंक्तियाँ बनाना उसके बारे में कुछ भी जानने का सबसे तेज़ रास्ता है।

पाइपलाइन के लिए टैब सही डिलिमिटर क्यों है

डेटा निर्यात में मूल्य कॉमा से भरे होते हैं — पते, उत्पाद के नाम, मुक्त पाठ। कॉमा-अलग की गई फ़ाइल में इन सबको उद्धरण चिह्नों में लपेटना पड़ता है, और हर उपभोक्ता को उद्धरण, एस्केप और एम्बेडेड न्यूलाइन सही ढंग से सँभालना होता है।

डेटा में टैब लगभग ग़ायब होते हैं, इसलिए डिलिमिटर और सामग्री एक-दूसरे से होड़ नहीं करते। इस बदलाव के बाद cut -f3 तीसरा कॉलम ढूँढ लेता है, sort सही से क्रमबद्ध करता है। किसी को पार्स नहीं करना पड़ता; बस बाँटना पड़ता है।

वह एक मूल्य जो अब भी स्थितीय औज़ार तोड़ देगा

किसी मूल्य के भीतर टैब अपवाद है। ऐसा होने पर कन्वर्टर उस फ़ील्ड को दोहरे उद्धरण में लपेट देता है, क्योंकि वरना पंक्ति चुपचाप एक कॉलम बढ़ा लेती।

वह आउटपुट सही है और असली पार्सर उसे सँभाल लेता है। cut -f नहीं करता: यह टैब गिनता है और उद्धरण चिह्न को कभी नहीं जाना। अगर कोई पाइपलाइन कुछ पंक्तियों पर बेमेल नतीजे दे रही है, तो grep -c '"' output.tsv यह एक सेकंड में बता देगा।

टाइमस्टैम्प ऐसे रूप में आते हैं जो क्रमबद्ध होते हैं

किसी टाइमस्टैम्प कॉलम को ISO 8601 स्ट्रिंग के तौर पर लिखा जाता है — 2024-03-11T09:30:00.000Z — जो बिना किसी डेट टाइप वाले प्रारूप में सबसे समझदार जवाब है। इसका एक गुण शेल में बहुत मायने रखता है: यह साधारण लेक्सिकल सॉर्ट में कालक्रम से क्रमबद्ध हो जाता है।

sort -k4 किसी तारीख़ कॉलम पर वही करता है जो आपने चाहा, और uniq -c पहले दस अक्षरों पर हर दिन की पंक्तियाँ गिन देता है। किसी भी लोकल-फ़ॉर्मैट की गई तारीख़ या एपॉक नंबर पर यह काम नहीं करता।

नेस्टेड कॉलम JSON के रूप में आते हैं, और jq बाक़ी सँभालता है

Parquet सूची, structs और maps को मूल रूप से रखता है। पाठ की पंक्ति में यह नहीं होता, इसलिए नेस्टेड कॉलम को उसके फ़ील्ड के भीतर JSON के तौर पर लिखा जाता है: कोई सूची ["a","b"] बनकर आती है।

cut -f5 output.tsv | jq ".[0]" हर सूची का पहला तत्व निकाल लेता है, और नेस्टिंग यात्रा में बचती है, कॉलम में चपटी नहीं होती। कोई टेक्स्ट संकेत न रखने वाले बाइनरी कॉलम लोअरकेस हेक्साडेसिमल के तौर पर लिखे जाते हैं।

null ख़ाली फ़ील्ड बनते हैं, और यह क्या छुपा देता है

null को ख़ाली फ़ील्ड लिखा जाता है। हर पंक्ति में टैब की गिनती एक जैसी रहती है, तो फ़ाइल आयताकार बनी रहती है और स्थितीय औज़ार सही रहते हैं।

यह एक फ़र्क़ मिटा भी देता है। Parquet हर कॉलम की null-योग्यता दर्ज करता है और null को ख़ाली स्ट्रिंग से अलग मानता है; आउटपुट में दोनों दो टैब के बीच शून्य अक्षर हैं। गिनती के लिए स्रोत से किसी क्वेरी इंजन से पूछें।

स्कीमा पाठ में नहीं है, तो पहले वही पढ़ लीजिए

Parquet फ़ाइल जो कुछ अपने कॉलम के बारे में जानती थी — हर एक का टाइप, पंक्ति गिनती, प्रति-कॉलम सांख्यिकी — फ़ूटर में रहता है, और उसमें से कुछ भी TSV में नहीं पहुँचता।

अगर स्कीमा पढ़ने का कोई तरीक़ा है, तो बदलने से पहले पढ़ लीजिए और लिख लीजिए। DuckDB में एक ही वाक्य में DESCRIBE उसे छाप देता है। कुछ न होने पर, हर कॉलम के कुछ अलग मूल्य cut -f2 | sort -u | head से जाँचना बेहतर है बजाय अंकों के कॉलम को मात्रा मानने के।

छोटी Parquet फ़ाइल कितना पाठ बनाती है

Parquet संपीड़ित और डिक्शनरी-एनकोडेड होती है, तो जितना पाठ यह विस्तृत करती है वह फ़ाइल के आकार से कई गुना ज़्यादा हो सकता है। दोहराए गए स्टेटस कोड का कॉलम स्रोत में लगभग कुछ नहीं लेता और आउटपुट में हर पंक्ति के लिए पूरी नक़ल लेता है।

बदलाव से पहले इसका अंदाज़ा लगाना समझदारी है, क्योंकि विस्तृत तालिका बदलाव के दौरान मेमोरी में रखी जाती है। सौ मेगाबाइट का निर्यात उससे कहीं ज़्यादा पाठ बना सकता है।

फ़ाइल यहाँ पढ़ी जाती है और कुछ भेजा नहीं जाता

Parquet रीडर इस पन्ने पर माँगे जाने पर लोड होने वाली लाइब्रेरी है और लिखना सादा जावास्क्रिप्ट है। किसी अनुरोध में फ़ाइल नहीं जाती, तो किसी डेटा प्लेटफ़ॉर्म के बीच से लिया गया निर्यात — अक्सर बिना समुच्चित और बिना छिपाया वर्ज़न — किसी और के सर्वर पर प्रति नहीं बनता।

कोई क़तार नहीं, कोई खाता नहीं, और सीमा 100 MB प्रति फ़ाइल है। इतनी बड़ी फ़ाइल के लिए जवाब बड़ा कन्वर्टर नहीं, क्वेरी इंजन है — यह बेहतर जवाब भी है क्योंकि यह सिर्फ़ ज़रूरी कॉलम लेने देता है।

DuckDB इंस्टॉल करना कब बदलने से बेहतर है

अगर कुछ भी इंस्टॉल कर सकते हैं तो DuckDB इंस्टॉल कीजिए। यह बिना किसी इम्पोर्ट क़दम के Parquet फ़ाइल को जहाँ है वहीं पढ़ता है, एक वाक्य में स्कीमा छापता है, और WHERE क्लॉज़ से असली सवाल का जवाब देता है।

यह बदलाव तब है जब वह विकल्प नहीं है: बंद की गई मशीन, सहकर्मी का लैपटॉप, ईमेल से आई फ़ाइल, पाँच मिनट का सवाल जो सेटअप की माँग नहीं करता। यह तब भी सही चुनाव है जब मंज़िल सचमुच टेक्स्ट पाइपलाइन है।

Parquet को TSV में ऐसे बदलें

  1. अपनी Parquet फ़ाइल इस पेज पर छोड़ें, या चुनने के लिए दबाएँ।
  2. लक्ष्य के रूप में TSV चुनें। कन्वर्ज़न आपके ब्राउज़र में होता है और फ़ाइल अपलोड नहीं होती।
  3. तैयार TSV फ़ाइल डाउनलोड कर लें।

Parquet या TSV: क्या बदलता है

Parquet और TSV की तुलना
ParquetTSV
पूरा नामApache ParquetTab-Separated Values
फ़ाइल एक्सटेंशन.parquet.tsv, .tab
मीडिया टाइपapplication/vnd.apache.parquettext/tab-separated-values
कंप्रेशनबिना नुक़सान — कुछ छोड़ा नहीं जाता
पहली बार प्रकाशित20131993
प्रकाशकApache Software Foundation
विनिर्देशIANA text/tab-separated-values
लाइसेंसखुला मानकखुला मानक
आज की स्थितिमौजूदामौजूदा
ब्राउज़र में खुलता हैकोई ब्राउज़र नहींकोई ब्राउज़र नहीं
इसकी जगह विचारणीयCSV, JSONCSV, JSON

क्या बचा रहता है

कुछ नहीं खोता। Parquet और TSV — दोनों अपनी सामग्री बिना नुक़सान सँभालते हैं: यह कन्वर्ज़न पैकिंग बदलता है, गुणवत्ता नहीं, और आप इसे दोहरा सकते हैं बिना इस डर के कि नुक़सान जमा होता जाएगा।

लक्ष्य फ़ॉर्मेट क्या और सँभाल सकता है

TSV काम करने का फ़ॉर्मेट है और Parquet बनकर तैयार फ़ॉर्मेट। जो लौटता है वह पन्ने की तस्वीर नहीं बल्कि बदली जा सकने वाली लिखावट है — आम तौर पर यही इस कन्वर्ज़न की वजह होती है, और यही इसकी सीमा भी।

नतीजा खोलना

pandas Parquet और TSV — दोनों पढ़ लेता है, इसलिए आप नतीजे को असली फ़ाइल के बग़ल में रखकर देख सकते हैं, बिना दूसरा प्रोग्राम खोले।

कौन-सा फ़ॉर्मेट किस काम के लिए है

TSV 1993 से चला आ रहा है, और IANA text/tab-separated-values में तय किया गया है। Microsoft Excel, LibreOffice Calc और pandas इस फ़ॉर्मेट को पढ़ लेते है।

TSV 1993 में आया और Parquet 2013 में। किसी को सौंपने के लिए आम तौर पर पुराना वाला ज़्यादा सुरक्षित रहता है; नया वाला वही काम कम बाइट में कर देता है।

Parquet से TSV: आम सवाल

क्या मेरी Parquet फ़ाइल कहीं अपलोड होती है?

नहीं। यह कन्वर्ज़न पूरी तरह आपके ब्राउज़र में होता है, इसलिए फ़ाइल आपके डिवाइस से बाहर नहीं जाती। आप ख़ुद जाँच सकते हैं: डेवलपर टूल्स का नेटवर्क टैब खोलिए और कुछ बदल कर देखिए। आपको पेज ख़ुद दिखेगा और आँकड़ों तथा विज्ञापन के वे अनुरोध दिखेंगे जिनसे इस सेवा का ख़र्च निकलता है — और एक भी ऐसा अनुरोध नहीं जो आपकी फ़ाइल साथ ले जा रहा हो। इस जोड़ी के पीछे parquet-wasm है, Apache Arrow के पाठक का एक WebAssembly संस्करण; आपका ब्राउज़र इसे एक बार उतारता है और फिर सहेज कर रखता है।

क्या Parquet को TSV में बदलना मुफ़्त है?

हाँ। न खाता, न वॉटरमार्क, और न कोई रोज़ का कोटा जो ख़त्म हो: यह आपकी अपनी मशीन पर चलता है, इसलिए आप जितनी बार चाहें लौट सकते हैं। ब्राउज़र 100 MB तक की फ़ाइलें सँभालता है, एक बार में 100। parquet-wasm आपकी अपनी मशीन पर उतरता है और वहीं चलता है — इसीलिए उस पर कोई गिनती नहीं है।

Parquet को TSV में बदलने पर क्या गुणवत्ता जाती है?

नहीं। TSV वही सामग्री बिना कुछ फेंके सँभालता है: नतीजा गुणवत्ता में असली फ़ाइल जैसा ही होता है।

क्या Parquet से TSV बिना नुक़सान का है?

कुछ नहीं खोता। Parquet और TSV — दोनों अपनी सामग्री बिना नुक़सान सँभालते हैं: यह कन्वर्ज़न पैकिंग बदलता है, गुणवत्ता नहीं, और आप इसे दोहरा सकते हैं बिना इस डर के कि नुक़सान जमा होता जाएगा।

क्या TSV फ़ाइल उसके बाद बदली जा सकती है?

TSV काम करने का फ़ॉर्मेट है और Parquet बनकर तैयार फ़ॉर्मेट। जो लौटता है वह पन्ने की तस्वीर नहीं बल्कि बदली जा सकने वाली लिखावट है — आम तौर पर यही इस कन्वर्ज़न की वजह होती है, और यही इसकी सीमा भी।

इन फ़ॉर्मेट के बारे में और