据我所知,尽管一般来说 .ORC 更适合平面结构和 parquet 对于嵌套的, spark 被优化为 parquet . 因此,建议将该格式与 spark . 此外, Metadata 所有的阅读表格 parquet 将存储在 hive 不管怎样。我是spark医生: 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. 我倾向于尽快将数据转换成 parquet 格式化并存储 alluxio 支持 hdfs . 这使我能够为实现更好的性能 read/write 操作和限制使用 cache . 希望对你有帮助。
2条答案
按热度按时间kkih6yb81#
热释光;医生:我会直接从Parquet文件里读出来
我将spark 1.5.2和Hive1.2.1用于一个500万行x100列的表,我记录的一些计时是
数据文件计数-->0.38s;数据单元计数-->8.99秒
dffile sum(col)-->0.98s;数据单元和(列)-->8.10s
dffile子串(col)-->2.63s;数据单元子串(列)-->7.77s
dffile其中(col=value)-->82.59s;数据单元,其中(列=值)-->157.64s
请注意,这些都是用一个旧版本的hive和一个旧版本的spark完成的,所以我不能评论两个读取机制之间的速度改进是如何发生的
7fhtutme2#
据我所知,尽管一般来说
.ORC
更适合平面结构和parquet
对于嵌套的,spark
被优化为parquet
. 因此,建议将该格式与spark
.此外,
Metadata
所有的阅读表格parquet
将存储在hive
不管怎样。我是spark医生: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.
我倾向于尽快将数据转换成parquet
格式化并存储alluxio
支持hdfs
. 这使我能够为实现更好的性能read/write
操作和限制使用cache
.希望对你有帮助。