UltKit

CSV'yi Parquet'e Dönüştürme

CSV kolay üretilir ama sorgulanması yavaştır. Bir CSV yükleyin; her alan için bir sütun tipi içeren, sıkıştırılmış ve yükleyeceğiniz analiz aracına hazır bir Apache Parquet dosyası alın.

Veri Dönüştürücü

veya CSV, TSV, TXT … dosyaları buraya bırakın ·

Dosya başına en fazla 95 MB· En fazla 20 dosya· 30 dakika sonra silinir

Çıktı

Dosyalar sunucularımızda işlenir ve 30 dakika sonra silinir.

Bu aracı nasıl kullanırsınız

  1. 1

    CSV dosyalarını yükleyin

    Bir dışa aktarım dosyası ya da aynı yapıya sahip, her biri en fazla 95 MB olan en çok 20 dosya ekleyin. Ayırıcı ayarı Otomatik algıla seçiliyken virgül, noktalı virgül, sekme ve dikey çizgiyi tanır.

  2. 2

    Başlık ve tarih ayarlarını koruyun

    İlk satır başlık seçeneği başlık satırını sütun adlarına çevirir. Tarihler ISO olarak ayarlıdır; böylece tarih sütunları tek biçimde yazılır.

  3. 3

    Parquet'e dönüştürün

    Parquet biçimine Dönüştür düğmesine basın ve .parquet dosyasını pandas, DuckDB, Spark ya da veri ambarınıza yükleyin.

Veri ekipleri CSV'yi neden Parquet'e dönüştürür

Parquet, 2013'te Twitter ve Cloudera mühendisleri tarafından, Google'ın 2010 tarihli Dremel makalesinde anlattığı sütunlu yapıdan yararlanılarak geliştirildi ve 2015'te üst düzey bir Apache projesi oldu. Fikir basit: CSV'nin yaptığı gibi tabloyu satır satır saklamak yerine, bir sütunun tüm değerlerini bir arada tutar. Kırk sütundan üçüne ihtiyaç duyan bir sorgu yalnızca o üçünü okur; yan yana duran benzer değerler de çok daha iyi sıkışır.

Bu yüzden analistler dışa aktarımları yüklemeden önce dönüştürür, veri mühendisleri tedarikçilerden CSV yerine Parquet ister ve taranan veri miktarına göre ücret alabilen Amazon Athena ile BigQuery gibi hizmetlerde sorgular ucuzlar. CSV ayrıca 0042'nin sayı mı kod mu olduğunu bilmez; Parquet her sütun için bir tür kaydeder, böylece sonraki aracın tahmin yürütmesi gerekmez.

Büyük tablolar için Parquet, CSV ve XLSX karşılaştırması

ParquetCSVXLSX
Sütun türleri dosyada saklanıryesnoHücre başına
Yalnızca sorgunun ihtiyaç duyduğu sütunları okuryesnono
Sıkıştırılmışyesnoyes
Metin düzenleyicide okunabilirnoyesno
Excel'de çift tıklamayla açılırnoyesyes
Dosya başına satır sayısıSabit sınır yokSabit sınır yokSayfa başına 1.048.576

CSV, Parquet'e dönüşünce neler değişir

Kazandıklarınız

  • Yalnızca gereken sütunları okuyan daha hızlı sorgular
  • Saklaması ve taşıması daha kolay, küçük dosyalar
  • Sonraki aracın tahmin etmek yerine okuduğu bir şema
  • Tek seferde ISO biçiminde yazılan tarihler

Akılda tutulması gerekenler

  • Hesap tablosunda veya metin düzenleyicide düzenlenemez
  • Sayısal bir sütundaki yazım hatası tüm sütunu metne çevirebilir
  • İnsanların hâlâ açması gerekiyorsa CSV'yi saklayın

CSV ve Parquet formatı hakkında bilgiler

CSV

Virgülle ayrılmış değerler

CSV, her satırın bir kayıt, virgüllerin ise sütun ayırıcı olduğu, tablolar için düz metin bir biçimdir. Bilgisayarcılığın ilk günlerinden beri kullanılır ve RFC 4180'de tanımlanmıştır; ancak birçok varyant noktalı virgül veya sekme ve farklı metin kodlamaları kullanır. Hemen her hesap tablosu, veritabanı ve analiz aracı onu içe ve dışa aktarabilir; bu da sistemler arası veri taşımada varsayılan biçim yapar. CSV yalnızca değerleri saklar; formül, biçimlendirme, birden çok sayfa veya veri türü içermez.

Sıkıştırma
–
Saydamlık
–
Animasyon
–
Çıkış yılı
–
CSV dönüştürücü

PARQUET

Apache Parquet

Parquet, 2013'te Twitter ve Cloudera tarafından oluşturulan ve Apache Software Foundation tarafından sürdürülen açık kaynaklı sütunlu bir depolama biçimidir. Veriyi sütun bazında, güçlü sıkıştırma ve tipli şemalarla saklar; böylece analiz araçları yalnızca gereken sütunları okuyabilir. Veri gölleri ile Spark, pandas, DuckDB, BigQuery ve Snowflake gibi araçlarda standarttır. Parquet dosyaları ikilidir ve bir metin düzenleyicide ya da sıradan bir elektronik tablo uygulamasında açılamaz.

Sıkıştırma
Kayıpsız
Saydamlık
–
Animasyon
–
Çıkış yılı
2013 · Apache Software Foundation (from Twitter and Cloudera)
PARQUET dönüştürücü

CSV, insanların açtığı bir dosya olmaktan çıkıp sorguların taradığı bir veriye dönüştüğünde Parquet'e çevrilir: veri gölüne düşen günlük bir dışa aktarım, analistlerle paylaşılan bir veri seti ya da her seferinde birkaç sütuna göre filtrelenen günlükler.

CSV'yi dönüştürmeden sonra değil, önce temizleyin: başlık adlarını düzeltin, alttaki özet satırlarını silin ve her sütunun tek tür değer içerdiğinden emin olun. Kaynak CSV değil de bir veritabanı yedeği ise SQL'den CSV'ye ile başlayın. JSON'dan SQL'e kadar diğer tüm hedefler veri dönüştürücü sayfasında.

CSV'yi Parquet'e dönüştürme hakkında sorular

Parquet dosyası CSV'ye göre ne kadar küçük olur?

Veriye bağlıdır. Ülke kodu, durum veya tarih gibi çok tekrar eden değerlere sahip sütunlar çok iyi sıkışır; benzersiz kimlikler ya da serbest metin içeren sütunlar ise daha az küçülür. Parquet dosyası genellikle CSV'nin küçük bir kesri kadardır, ancak söz verilebilecek sabit bir oran yoktur.

Dönüştürülen .parquet dosyasını hangi araçlar okur?

read_parquet ile pandas, Polars, dosya adı üzerinde basit bir SELECT ile DuckDB, Apache Spark ve BigQuery, Snowflake, Amazon Athena ile Redshift Spectrum gibi bulut veri ambarları. Çoğu, aynı sütunlara sahip Parquet dosyalarından oluşan bir klasörü tek tablo gibi de sorgulayabilir.

Sütun tipleri nasıl belirlenir?

Her sütundaki değerlere bakılarak belirlenir: tam sayılar, ondalık sayılar, tarihler ve doğru/yanlış değerleri uygun türü alır; karışık içerikli sütun metin olarak kalır. 02134 gibi posta kodları gibi başında sıfır olan kodları dönüştürdükten sonra kontrol edin; sıfırın korunması gerekiyorsa metin olarak bırakın.

Aynı yapıdaki birden fazla CSV dosyasını dönüştürebilir miyim?

Evet, tek seferde 20'ye kadar; her biri ayrı bir .parquet dosyası olur. Hepsini tek klasöre koyarsanız DuckDB veya Spark bunları sales_*.parquet gibi bir joker karakterle birlikte okuyabilir.

Bir Parquet dosyasının içine kod yazmadan nasıl bakarım?

Excel ve Google E-Tablolar .parquet dosyasını çift tıklamayla açamaz. Parquet'ten CSV'ye aracıyla satırlara geri çevirebilir ya da tek bir SQL sorgusu yazmaktan çekinmiyorsanız DuckDB'nin komut satırını kullanabilirsiniz.