แปลง CSV เป็น Parquet
CSV สร้างง่ายแต่คิวรีช้า อัปโหลดไฟล์ CSV แล้วรับไฟล์ Apache Parquet ที่ทุกฟิลด์มีชนิดคอลัมน์กำหนดไว้ บีบอัดเรียบร้อยและพร้อมโหลดเข้าเครื่องมือวิเคราะห์ที่คุณใช้
แปลงไฟล์ข้อมูล
หรือลากไฟล์ CSV, TSV, TXT … มาวางที่นี่ ·
สูงสุด 95 MB ต่อไฟล์· ได้สูงสุด 20 ไฟล์· ลบหลังจาก 30 นาที
ไฟล์จะถูกประมวลผลบนเซิร์ฟเวอร์ของเราและถูกลบหลังจาก 30 นาที
อักขระที่ใช้คั่นคอลัมน์ในไฟล์ CSV และไฟล์ข้อความ ทั้งตอนอ่านและตอนเขียน ค่าอัตโนมัติจะตรวจหาจากไฟล์ต้นฉบับและเขียนด้วยจุลภาค
UTF-8 ใช้ได้กับทุกภาษา เลือก UTF-8 พร้อม BOM หาก Excel บน Windows แสดงอักษรที่มีวรรณยุกต์หรืออักษรเอเชียเพี้ยนเมื่อเปิด CSV
สำหรับไฟล์ Excel, ODS และ Numbers: แปลงเฉพาะชีตแรก หรือทุกชีต (CSV หนึ่งไฟล์ต่อชีตใน ZIP หรือคีย์ JSON หนึ่งคีย์ต่อชีต)
ชื่อแท็บชีตในสเปรดชีตใหม่ ไม่เกิน 31 อักขระ
อาร์เรย์ของออบเจ็กต์จะใช้ชื่อคอลัมน์เป็นคีย์ในทุกแถว ส่วนอาร์เรย์ของอาร์เรย์จะกะทัดรัดกว่าและเก็บส่วนหัวไว้เป็นอาร์เรย์แรก
ชื่อของอิลิเมนต์ชั้นนอกที่ครอบทุกแถว โดยแต่ละแถวจะกลายเป็น <row> ภายในอิลิเมนต์นั้น
ใช้ในคำสั่ง CREATE TABLE และ INSERT ใช้ได้เฉพาะตัวอักษร ตัวเลข และขีดล่าง
การใส่เครื่องหมายคำพูดและชนิดคอลัมน์แตกต่างกันเล็กน้อยในแต่ละฐานข้อมูล ให้เลือกฐานข้อมูลที่จะนำเข้า
เขียนเซลล์วันที่ใหม่ให้เป็นรูปแบบเดียวกัน ISO (2026-10-18) ปลอดภัยที่สุดสำหรับฐานข้อมูลและโค้ด ส่วนคงเดิมจะเก็บไว้ตามที่ปรากฏในต้นฉบับ
วิธีใช้เครื่องมือนี้
- 1
อัปโหลดไฟล์ CSV
เพิ่มไฟล์ที่ส่งออกมา 1 ไฟล์ หรือสูงสุด 20 ไฟล์ที่มีโครงสร้างเหมือนกัน ไฟล์ละไม่เกิน 95 MB ตั้งค่า ตัวคั่น เป็นตรวจหาอัตโนมัติ ระบบจะรองรับเครื่องหมายจุลภาค อัฒภาค แท็บ และเครื่องหมายไปป์
- 2
คงการตั้งค่าแถวหัวตารางและวันที่ไว้
แถวแรกเป็นส่วนหัว จะใช้บรรทัดแรกเป็นชื่อคอลัมน์ ส่วน วันที่ ตั้งเป็น ISO เพื่อให้คอลัมน์วันที่ถูกเขียนในรูปแบบเดียวกันทั้งหมด
- 3
แปลงเป็น Parquet
กด แปลงเป็น Parquet แล้วนำไฟล์ .parquet ไปโหลดใน pandas, DuckDB, Spark หรือคลังข้อมูลของคุณ
เหตุใดทีมข้อมูลจึงแปลง CSV เป็น Parquet
Parquet ถูกสร้างขึ้นในปี 2013 โดยวิศวกรจาก Twitter และ Cloudera โดยอาศัยโครงสร้างแบบคอลัมน์ที่ 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)
CSV คือรูปแบบข้อความธรรมดาสำหรับตาราง โดยแต่ละบรรทัดคือหนึ่งแถวและใช้จุลภาคคั่นคอลัมน์ ใช้กันมาตั้งแต่ยุคแรกของคอมพิวเตอร์และมีคำอธิบายใน RFC 4180 แม้ว่าหลายรูปแบบย่อยจะใช้อัฒภาคหรือแท็บและการเข้ารหัสข้อความที่ต่างกัน สเปรดชีต ฐานข้อมูล และเครื่องมือวิเคราะห์ข้อมูลแทบทุกตัวนำเข้าและส่งออก CSV ได้ จึงเป็นรูปแบบมาตรฐานสำหรับย้ายข้อมูลระหว่างระบบ CSV เก็บเฉพาะค่า ไม่มีสูตร การจัดรูปแบบ หลายชีต หรือชนิดข้อมูล
- การบีบอัด
- –
- พื้นหลังโปร่งใส
- –
- ภาพเคลื่อนไหว
- –
- เปิดตัว
- –
PARQUET
Apache Parquet
Parquet เป็นรูปแบบการจัดเก็บข้อมูลแบบคอลัมน์ (columnar) แบบโอเพนซอร์สที่ Twitter และ Cloudera สร้างขึ้นในปี 2013 และดูแลโดย Apache Software Foundation จัดเก็บข้อมูลตามคอลัมน์พร้อมการบีบอัดประสิทธิภาพสูงและสคีมาที่กำหนดชนิดข้อมูล เครื่องมือวิเคราะห์ข้อมูลจึงอ่านเฉพาะคอลัมน์ที่ต้องการได้ เป็นมาตรฐานใน data lake และเครื่องมืออย่าง Spark, pandas, DuckDB, BigQuery และ Snowflake ไฟล์ Parquet เป็นไฟล์ไบนารีและเปิดในโปรแกรมแก้ไขข้อความหรือแอปสเปรดชีตทั่วไปไม่ได้
- การบีบอัด
- แบบไม่สูญเสียข้อมูล
- พื้นหลังโปร่งใส
- –
- ภาพเคลื่อนไหว
- –
- เปิดตัว
- 2013 · Apache Software Foundation (from Twitter and Cloudera)
CSV กลายเป็น Parquet เมื่อไฟล์ไม่ได้มีไว้ให้คนเปิดอ่านอีกต่อไป แต่มีไว้ให้คำสั่งสืบค้นสแกนข้อมูล เช่น ไฟล์ส่งออกรายวันที่ไหลเข้า data lake ชุดข้อมูลที่แชร์ให้นักวิเคราะห์ หรือล็อกที่กรองทีละไม่กี่คอลัมน์
ควรทำความสะอาด CSV ก่อนแปลง ไม่ใช่หลังแปลง โดยแก้ชื่อส่วนหัว ลบบรรทัดสรุปท้ายไฟล์ และตรวจให้แต่ละคอลัมน์มีค่าชนิดเดียวกัน หากต้นทางเป็นไฟล์สำรองฐานข้อมูลไม่ใช่ CSV ให้เริ่มจาก แปลง SQL เป็น CSV ส่วนปลายทางอื่น ๆ ตั้งแต่ JSON ถึง SQL อยู่ในหน้า แปลงไฟล์ข้อมูล
คำถามเกี่ยวกับการแปลง CSV เป็น Parquet
ไฟล์ Parquet จะเล็กกว่าไฟล์ CSV เท่าไร
ขึ้นอยู่กับข้อมูล คอลัมน์ที่มีค่าซ้ำจำนวนมาก เช่น รหัสประเทศ สถานะ หรือวันที่ จะบีบอัดได้ดีมาก ส่วนคอลัมน์ที่เป็น ID ที่ไม่ซ้ำกันหรือข้อความอิสระจะเล็กลงน้อยกว่า ไฟล์ 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 เพียงหนึ่งคำสั่ง