კონტენტზე გადასვლა

📦 Apache Parquet – კოლონური მონაცემთა ფორმატი

Apache Parquet არის ღია, კოლონური (სვეტური) მონაცემთა ფორმატი, რომელიც ოპტიმიზირებულია დიდმასშტაბიანი ანალიტიკური მონაცემების ეფექტურად შესანახად და გადასაცემად.


🔍 რატომ Parquet?

  • კოლონური შენახვა – მონაცემები ინახება სვეტების მიხედვით და არა მწკრივებად, რაც აჩქარებს ანალიტიკურ შეკითხვებს.
  • მაღალი კომპრესია – მონაცემები უკეთესად იკუმშება, რადგან ერთ სვეტში ერთი და იგივე ტიპის მონაცემებია.
  • მრავალენოვანი მხარდაჭერა – შესაძლებელია გამოყენება Python (pandas, pyarrow), R, Java, Spark და სხვა ტექნოლოგიებთან.
  • შეესაბამება Hadoop-ის ეკოსისტემას – თავსებადია Hive, Impala, Drill, Spark და სხვებთან.

🧱 სტრუქტურა

Parquet ფაილი შედგება:

  • Row Group-ებისგან – მონაცემთა ნაწყვეტები, რომლებიც შეიცავენ რიგებს.
  • Column Chunk-ებისგან – თითოეული სვეტის მონაცემები Row Group-ის შიგნით.
  • Page-ებისგან – Column Chunk დაყოფილია გვერდებად. თითო გვერდი შეიცავს მონაცემებს ან მეტამონაცემებს.

📈 უპირატესობები

უპირატესობა აღწერა
🚀 სწრაფი კითხვა განსაკუთრებით ეფექტურია იმ შემთხვევაში, როცა მხოლოდ გარკვეული სვეტებია საჭირო
💾 სივრცის ეკონომია კარგად იკუმშება და ამცირებს საცავზე დატვირთვას
🔁 სკალირებადობა ადვილად ადაპტირდება დიდ მონაცემთა ნაკადებზე
🔌 ეკოსისტემასთან ინტეგრაცია კარგად მუშაობს Spark, Hadoop, Hive, Presto და სხვებთან

🧪 როგორ გამოვიყენოთ Python-ში?

import pandas as pd

# CSV-დან Parquet ფორმატში გარდაქმნა
df = pd.read_csv("data.csv")
df.to_parquet("data.parquet")

# Parquet ფაილის წაკითხვა
df_parquet = pd.read_parquet("data.parquet")

💡 შენიშვნა: საჭიროა pyarrow ან fastparquet ბიბლიოთეკა.


🆚 Parquet vs CSV

მახასიათებელი Parquet CSV
შენახვის ტიპი კოლონური მწკრივი
ფაილის ზომა მცირე დიდი
წაკითხვის სიჩქარე მაღალი დაბალი
მეტამონაცემები კი არა

🌐 გამოყენების სფეროები

  • მონაცემთა ანალიტიკა და BI
  • მონაცემთა შენახვა დიდ მოცულობაზე (Data Lake)
  • ETL პროცესები
  • Machine Learning მონაცემების წინასწარი დამუშავება

📚 რესურსები


✅ შეჯამება

Apache Parquet წარმოადგენს თანამედროვე, ეფექტურ და სწრაფ ფაილის ფორმატს დიდი მოცულობის მონაცემთა ანალიზისთვის. ის განსაკუთრებით გამოსადეგია მაშინ, როცა საჭიროა მხოლოდ გარკვეული სვეტების წაკითხვა ან მონაცემების კომპაქტური შენახვა.