UltKit

Pretvornik CSV v Parquet

CSV je preprosto ustvariti, poizvedbe po njem pa so počasne. Naložite CSV in dobili boste datoteko Apache Parquet s podatkovnim tipom za vsako polje, stisnjeno in pripravljeno za analitično orodje, v katero jo boste uvozili.

Pretvornik podatkov

ali spustite datoteke CSV, TSV, TXT … sem ·

Največ 95 MB na datoteko· Do 20 datotek· Izbrisano po 30 minutah

Izhod

Datoteke se obdelajo na naših strežnikih in izbrišejo po 30 minutah.

Kako uporabljati to orodje

  1. 1

    Naložite datoteke CSV

    Dodajte en izvoz ali do 20 datotek z enako postavitvijo, vsako do 95 MB. Če je Ločilo nastavljeno na samodejno zaznavo, obvlada vejice, podpičja, tabulatorje in navpične črte.

  2. 2

    Ohranite nastavitve glave in datumov

    Prva vrstica je glava spremeni vrstico z glavo v imena stolpcev. Datumi so nastavljeni na ISO, zato so stolpci z datumi zapisani v enotni obliki.

  3. 3

    Pretvorite v Parquet

    Pritisnite Pretvori v Parquet in datoteko .parquet naložite v pandas, DuckDB, Spark ali svoje podatkovno skladišče.

Zakaj podatkovne ekipe pretvarjajo CSV v Parquet

Parquet sta leta 2013 ustvarila inženirja pri Twitterju in Clouderi, ob zgledovanju po stolpčni postavitvi, ki jo je Google opisal v članku Dremel iz leta 2010, leta 2015 pa je postal projekt najvišje ravni pri Apache. Zamisel je preprosta: namesto da bi tabelo shranjeval vrstico za vrstico kot CSV, skupaj shrani vse vrednosti enega stolpca. Poizvedba, ki potrebuje tri od štiridesetih stolpcev, prebere samo te tri, podobne vrednosti ob sebi pa se stisnejo veliko bolje.

Zato analitiki izvoze pretvorijo pred nalaganjem, podatkovni inženirji od dobaviteljev zahtevajo Parquet namesto CSV, storitve, kot sta Amazon Athena in BigQuery, ki lahko zaračunavajo glede na količino preiskanih podatkov, pa postanejo cenejše za poizvedovanje. CSV prav tako ne ve, ali je 0042 število ali koda; Parquet za vsak stolpec zapiše tip, zato naslednjemu orodju ni treba ugibati.

Parquet, CSV ali XLSX za velike tabele

ParquetCSVXLSX
Tipi stolpcev, shranjeni v datotekiyesnoPo celicah
Prebere samo stolpce, ki jih poizvedba potrebujeyesnono
Stisnjenoyesnoyes
Berljivo v urejevalniku besedilanoyesno
Odpre se v Excelu z dvoklikomnoyesyes
Vrstic na datotekoBrez fiksne omejitveBrez fiksne omejitve1.048.576 na list

Kaj se spremeni, ko CSV postane Parquet

Kaj pridobite

  • Hitrejše poizvedbe, ki preberejo samo potrebne stolpce
  • Manjše datoteke za shranjevanje in prenos
  • Shema, ki jo naslednje orodje prebere, namesto da ugiba
  • Datumi, enkrat zapisani v obliki ISO

Kaj upoštevati

  • Ni ga mogoče urejati v preglednici ali urejevalniku besedila
  • Tipkarska napaka v številskem stolpcu lahko spremeni celoten stolpec v besedilo
  • CSV obdržite, če ga ljudje še vedno potrebujejo odpreti

Dejstva o formatih CSV in Parquet

CSV

Vrednosti, ločene z vejicami

CSV je navadnobesedilni format za tabele, v katerem je vsaka vrstica zapis, vejice pa ločujejo stolpce. Uporablja se od zgodnjih dni računalništva in je opisan v RFC 4180, čeprav številne različice uporabljajo podpičja ali tabulatorje in različna besedilna kodiranja. Skoraj vsako preglednico, zbirko podatkov in analitično orodje lahko uvozi in izvozi, zato je privzeti format za prenos podatkov med sistemi. CSV hrani le vrednosti, brez formul, oblikovanja, več listov ali podatkovnih tipov.

Stiskanje
–
Prosojnost
–
Animacija
–
Uvedeno
–
Pretvornik CSV

PARQUET

Apache Parquet

Parquet je odprtokodna stolpčna oblika shranjevanja, ki sta jo leta 2013 ustvarila Twitter in Cloudera, vzdržuje pa jo Apache Software Foundation. Podatke hrani po stolpcih z močnim stiskanjem in tipiziranimi shemami, zato analitična orodja preberejo le stolpce, ki jih potrebujejo. Je standard v podatkovnih jezerih in orodjih, kot so Spark, pandas, DuckDB, BigQuery in Snowflake. Datoteke Parquet so binarne in jih ni mogoče odpreti v urejevalniku besedil ali navadni preglednici.

Stiskanje
Brez izgube kakovosti
Prosojnost
–
Animacija
–
Uvedeno
2013 · Apache Software Foundation (from Twitter and Cloudera)
Pretvornik PARQUET

CSV postane Parquet, ko datoteka ni več nekaj, kar ljudje odpirajo, ampak nekaj, kar poizvedbe preiskujejo: dnevni izvoz, ki pristane v podatkovnem jezeru, nabor podatkov za analitike ali dnevniki, ki jih filtriramo po nekaj stolpcih naenkrat.

CSV očistite pred pretvorbo, ne po njej: popravite imena v glavi, odstranite povzetne vrstice na koncu in poskrbite, da vsak stolpec vsebuje eno vrsto vrednosti. Če vir ni CSV, ampak varnostna kopija zbirke podatkov, začnite z orodjem SQL v CSV. Vse druge cilje, od JSON do SQL, najdete na strani pretvornik podatkov.

Vprašanja o pretvorbi CSV v Parquet

Koliko manjša bo datoteka Parquet od mojega CSV?

Odvisno od podatkov. Stolpci s številnimi ponavljajočimi se vrednostmi, na primer kode držav, statusi ali datumi, se stisnejo zelo dobro, stolpci z unikatnimi ID-ji ali prostim besedilom pa manj. Datoteka Parquet je običajno delček velikosti datoteke CSV, vendar ni fiksnega razmerja, ki bi ga bilo vredno obljubljati.

Katera orodja berejo pretvorjeno datoteko .parquet?

pandas z read_parquet, Polars, DuckDB z navadnim SELECT po imenu datoteke, Apache Spark ter oblačna skladišča, kot so BigQuery, Snowflake, Amazon Athena in Redshift Spectrum. Večina jih zna mapo datotek Parquet z enakimi stolpci poizvedovati tudi kot eno tabelo.

Kako se določijo tipi stolpcev?

Iz vrednosti v posameznem stolpcu: cela števila, decimalna števila, datumi in vrednosti da/ne dobijo ustrezne tipe, stolpec z mešano vsebino pa ostane besedilo. Po pretvorbi preverite kode z vodilnimi ničlami, na primer poštne številke, kot je 02134, in jih obdržite kot besedilo, če mora ničla ostati.

Ali lahko pretvorim več datotek CSV z enako strukturo?

Da, do 20 naenkrat, vsaka pa postane svoja datoteka .parquet. Shranite jih v isto mapo, DuckDB ali Spark pa jih lahko skupaj prebereta z nadomestnim znakom, na primer sales_*.parquet.

Kako si ogledam vsebino datoteke Parquet brez kode?

Excel in Google Preglednice ne odprejo datoteke .parquet z dvoklikom. Spet jo pretvorite v vrstice z orodjem Parquet v CSV ali uporabite ukazno vrstico DuckDB, če vam ustreza ena SQL poizvedba.