D'après ce que je comprends, même si en général .ORC
est mieux adapté pour les structures plates et parquet
pour ceux imbriqués, spark
est optimisé pour parquet
. Par conséquent, il est conseillé d'utiliser ce format avec spark
.
En outre, Metadata
pour toutes vos tables de lecture de parquet
sera de toute façon stockée dans hive
. Ceci est étincelle doc: Spark SQL caches Parquet metadata for better performance. When Hive metastore Parquet table conversion is enabled, metadata of those converted tables are also cached. If these tables are updated by Hive or other external tools, you need to refresh them manually to ensure consistent metadata.
J'ai tendance à transformer les données dès que possible en parquet
le format et le stocker alluxio
soutenu par hdfs
. Cela me permet d'atteindre de meilleures performances pour les opérations read/write
, et de limiter l'utilisation de cache
.
J'espère que ça aide.
Vous pouvez trouver la réponse la plus récente à https://stackoverflow.com/questions/32373460/parquet-vs-orc-vs-orc-with-snappy assez intéressant >> la vectorisation est un vrai bonus .. En plus des "pushs-down de prédicats", "skip scans" basés sur des stats locales (les deux fonctionnalités requièrent des formats en colonnes), une taille de partition efficace, une compression appropriée ... –