Wenn generating the parquet file aus den gleichen csv file
der Dask
erzeugte eine Parkett Datei mit vielen kleinen Dateien (über 200 Dateien mit einer Größe von 3 MB) und die R Sergeant
2 erzeugten .parquet
Dateien mit 520 MB und 280 MB).
Wir haben versucht, mit dem row_group_offset
Schlüsselwort zu verwenden, aber hatten keinen Erfolg. Unter Verwendung der partition_on
in Dask
hinzugefügt eine Reihe von Partitionen, aber in jeder Partition gibt es viele Unter .parquet
Dateien (Hunderte oder sogar Tausende).Anzahl der Parkettunter Dateien
Wie können wir die Größe der Parkettdateien in Python und in R steuern?
Vielen Dank für Ihre Antwort - Ich habe es geschafft, die Dateien neu zu partitionieren - Jetzt versuche ich zu verstehen, was die Überlegungen für die Größe der Partition sind. Die [Dokumentation in fastparquet] (https://fastparquet.readthedocs.io/en/latest/details.html#partitions-and-row-groups) erklärt nicht, was zu tun hat, wenn die Datei keine hohe Kardinalität hat . –
Eine solche Sache hängt oft vom Anwendungsfall ab. Kleinere Partitionen auf einem Index, der für die Auswahl nützlich ist, oder ein kategorischer Bereich, in dem Sie wahrscheinlich nur einige Werte wünschen, führen dazu, dass nicht alle Daten gelesen werden müssen. aber größere Partitionen sind immer effizienter zu lesen. Stellen Sie sicher, dass die Partitionsgröße * im Speicher * immer viel kleiner als Arbeits-RAM ist, besonders für Parallel. Die HDFS-Blockgröße, typischerweise 128 MB, zielt auf diese Faustregel ab. – mdurant