性能最高的文件格式(Avro/Parquet/ORC),适用于具有少量字段的记录



我上传了大量数据(大约160GB未压缩(到BigQuery。

GZIP对我来说不是一个选项,这里需要压缩,所以这让我在块级别上压缩了Avro/Parquet/ORC。

我尝试在线查找,但发现这 3 种格式之间的性能比较很少,我发现的格式来自看起来很狡猾的网站。

我的记录包含大约 20 个字段,一个字段是包含 2 个字段的记录(可以平展,不必是记录(。

我对读取速度不太感兴趣,因为 BigQuery 会这样做,什么是最高性能的文件格式写入?

答案取决于您要在BigQuery上创建的表类型。

外部表只是指向文件的指针。每次查询外部表时,BigQuery都必须打开该表指向的所有文件。

本机表是不同的。加载本机表时,BigQuery 会导入其中的所有数据,并以自己的格式在内部存储。本机表比外部表更优化,但您必须考虑到您也将为此支付更多费用。重要的是要记住,使用本机表,您可以加载表,而无需在云存储中上传任何文件。除此之外,如果您从云存储中的文件创建表,则在将数据加载到本机表中后,您无需将文件保留在那里。

如果要创建外部表,则应考虑读取性能。在这种情况下,PARQUETORC等列式格式将是一个不错的选择。否则,如果您要创建本机表,则不必担心读取性能。

关于压缩,事实证明PARQUETORC可以比AVRO压缩得更多。鉴于我在GCP方面的经验,如果您想要具有良好压缩的优化格式,我建议您使用PARQUET

格式和DEFLATE

压缩。我希望我的回答对您有所帮助。如果您有任何问题,请告诉我。

我会选择Parquet,仅仅是因为它易于使用和可用的工具。如果您阅读比较ORC与Parquet的写入速度的文章,您会发现它们已经过时,并且速度实际上取决于您正在使用的压缩库。

我的建议是,选择您将用于导出的语言中具有最佳工具的格式。并且不必担心边际写入速度差异。

相关内容

  • 没有找到相关文章

最新更新